ES5-数组的新方法(都是遍历)

本文深入解析JavaScript数组的六大核心方法:forEach、map、filter、some、every与find,通过实例展示如何高效处理数组数据,包括遍历、映射、过滤、查找等常见操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

forEach

forEach()的方法对数组的每个元素执行一次提供的函数.功能等同于for循环.

应用场景:为一些相同的元素,绑定事件处理器!

需求 : 遍历数组[“张飞”,“关羽”,“赵云”,“马超”]

var arr = ["张飞","关羽","赵云","马超"];
//第一个参数:element,数组的每一项元素
//第二个参数:index,数组的下标
//第三个参数:array,正在遍历的数组
arr.forEach(function(element,index,array){
    console.log(element ,index, array);
})

map

map() 方法遍历数组,根据数组里的元素,返回处理之后的元素,返回一个新的数组(数组的个数和之前的数组 个数一致).

需求: 遍历数组, 求每一项的平方存在于一个数组中

var arr = [1,2,3,4,5];  // 1 4 9 16 25
//第一个参数:element,数组的每一项元素
//第二个参数:index,数组的下标
//返回值:一个新数组,每个元素都是回调函数的结果。
var newArray = arr.map(function(element, index){
    return element * element ;
});
console.log(neWArray);// [1 4 9 16 25]

filter

filter用于过滤符合条件的元素

返回一个新数组, 如果在回调函数中返回true, 那么就留下来,如果返回false, 就扔掉(新数组中元素的个数和之前的个数不一定一致)

需求:遍历数组,将数组中工资超过5000的值过滤出来 [1000, 5000, 20000, 3000, 10000, 800, 1500]

var arr = [1000, 5000, 20000, 3000, 10000, 800, 1500];
//第一个参数:element,数组的每一项元素
//第二个参数:index,数组的下标
//返回值:一个新数组,存储了所有返回true的元素
var newArr = arr.filter(function(ele, index){
    return ele >= 5000 ;
});
console.log(newArr);//[5000,20000,10000]

some

some() 用于遍历数组, 如果有至少一个满足条件, 就返回true, 否则返回false.

返回值:布尔类型

需求:遍历数组,判断数组是否包含奇数,[2,4,6,8,10,9]

var arr = [2,4,6,8,10,21];
//第一个参数:element,数组的每一项元素
//第二个参数:index,数组的下标
//返回值:布尔类型的值,只要有一个回调函数返回true,就返回true
var flag = arr.some(function(element, index){
  console.log(element, index);
   return element %2 == 1
  
});
console.log(flag);//true

every

every() 用于遍历数组, 只有当所有的元素都符合条件, 才返回true, 否则返回false.

返回值:布尔类型

需求:遍历数组,判断数组是否都是偶数,[2,4,6,8,10,9]

  var flag = arr.every(function(element, index){
    console.log(element, index);
    return element %2 == 0
  });
  console.log(flag);//false

find

find() 方法遍历数组,查找满足条件的元素,只返回 第一个元素。否则返回 undefined。

// 获取第一个大于10的数
var array1 = [5, 12, 8, 130, 44];

var found = array1.find(function(element) {
  return element > 10;
});
console.log(found);

findIndex

findIndex() 方法遍历数组,查找符合条件的元素的索引,只返回第一个元素的索引…否则返回-1 .

// 获取第一个大于10的下标
var array1 = [5, 12, 8, 130, 44];

function findFirstLargeNumber(element) {
  return element > 10;
}

console.log(array1.findIndex(findFirstLargeNumber));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值