Array的几种常用的遍历方法

forEach、map、filter、every、some五个常用的数组方法,用于处理数组中子项

1.forEach()方法用于调用数组的每个元素,并将元素传递给回调函数

array.forEach(function(currentValue, index, arr), thisValue)

参数描述:

currentValue:必需,当前元素

index:可选,当前元素的索引值

arr:可选,当前元素所属的数组对象

forEach()只是遍历一次数组,不会去修改原数组,例如

var arr = [1,2,3,4,5];
arr.forEach(function(item){
    item += 1;
})
console.log(arr); // [1,2,3,4,5]

尝试去通过item去把arr每一项增加1,但是执行没有生效

不过可以通过索引的方式去改变原数组

var arr = [1,2,3,4,5];
arr.forEach(function(item,index){
    arr[index] += 1;
})
console.log(arr); // [2,3,4,5,6]

2.map()方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值

array.map(function(currentValue, index, arr), thisValue)

我们还是尝试修改arr每一项增加1,并返回修改后的数组,注意要用return关键字返回每一项

var arr = [1,2,3,4,5];
var arr2 = arr.map(function(item){
    return item += 1;
})
console.log(arr); // [1,2,3,4,5]
console.log(arr2);// [2,3,4,5,6]

3.filter()方法创建一个新的数组,新数组中的元素是原始数组通过检查返回值为true的项

array.filter(function(currentValue, index, arr), thisValue)

var arr = [1,2,3,4,5,6,7,8];
var arr2 = arr.filter(function (item) {
  return item > 4;
});
console.log(arr); // [1,2,3,4,5,6,7,8]
console.log(arr2);// [5,6,7,8]

4.every()方法用于检测数组所有元素是否都符合指定条件,如果数组中检测到有一个元素不满足,则整个表达式返回false,且剩余元素不会再进行检测;如果所有元素都满足条件,则返回true

array.every(function(currentValue, index, arr), thisValue)

5.some()方法用于检测数组中是否有元素满足指定条件(函数),如果有一个元素满足条件,则表达式返回true,剩余元素不再执行检测;如果没有满足条件的元素,则返回false

array.some(function(currentValue, index, arr), thisValue)

经验分享 程序员 微信小程序 职场和发展