遍历(迭代)数组的方法
2020-04-04 本文已影响0人
晚月川
数组新增方法
迭代(遍历)方法:
forEach()
map()
filter()
some()
every
-
forEach()
遍历数组
// 语法规范
array.forEach(function(currentValue, index, arr));
// currentValue:数组当前项的值
// index:数组当前项的索引
// arr:数组对象本身
let arr = [1,2,3];
arr.forEach(function(value, index, array) {
console.log('数组元素' + value);
console.log('数组元素索引号' + index);
console.log('数组本身' + array);
})
map()
map()
和forEach一样,只不过在forEach()
的基础上支持返回值(支持return
)
-
filter()
筛选数组
filter()的方法是创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,主要用于筛选数组
- 注意:它直接返回一个新数组
// 语法规范
array.filter(function(currentValue, index, arr));
// currentValue:数组当前项的值
// index:数组当前项的索引
// arr:数组对象本身
let arr = [1, 2, 57, 95, 19, 66];
let newArr = arr.filter(function(value, index) {
return value >=20;
// return value % 2 === 0; =>[2,66]
});
console.log(newArr); //=>[57,95,66]
-
some()
检测数组元素
some()
方法用于检测数组中的元素是否满足指定条件(查找数组中是否有满足条件的元素)
注意:它的返回值是布尔值,如果查找到这个元素,就返回true,如果查找不到就返回false
如果找到第一个满足条件的元素,则终止循环,不在继续查找
array.some(function(currentValue, index, arr));
// currentValue:数组当前项的值
// index:数组当前项的索引
// arr:数组对象本身
let arr = [1,3,5,6,57,95];
let flag = arr.some(function(value) {
// return value > 100; //=>false
return value < 3; //=>true
});
console.log(flag);
filter()
查找满足条件的元素,返回结果是一个数组,而且是把所有满足条件的的元素返回回来some()
查找满足条件的元素是否存在,返回结果是一个布尔值,如果查找到第一个满足条件的元素就终止循环