数组迭代方法
-
every 查询数组中的所有项是否满足某个条件
- 返回值 全部满足返回true 否则返回false
- 实例
var arr = [1, 2, 3, 4, 5, 4, 3, 2, 1] let flag = arr.every(item => item > 2 ); console.log(flag); //false
-
some 查询数组中是否有满足的项
- 只要有一个满足条件则返回true
- 实例
var arr = [1, 2, 3, 4, 5, 4, 3, 2, 1] let flag = arr.some(item => item > 2 ); console.log(flag); //true
-
findIndex查询数组中满足条件的项的索引
- 返回满足条件的索引
- 实例
// 需求删除数组中id为5的项 let arr = [ { name: 'fj', id: 1 }, { name: 'wwx', id: 3 }, { name: 'wwx', id: 5 } ] // 方法放回满足条件的项的索引 let res = arr.findIndex(item => item.id == 5) console.log(res); // 2
-
find查询数组中满足条件的项
- 返回满足条件的元素
- 实例
let arr = [{ name: '123' }, 2, 3, 4] let res = arr.find(item => item.name == '123') console.log(res); //{naem:'123'} // 拿到对象的指针 res.name = '1'; console.log(arr); //{name:'1'}
-
filter 查询符合某些条件的所有数组项
- 返回一个新数组里面包含了所有满足条件的元素
- map() 创建包含的项与原数组的项一一对应的数组
- 映射 返回一个新数组
-
forEach() 本质上与for循环迭代相同
-
没有返回值
-
三个参数 item index array
-
用于利用数组执行某些操作
-
以上方法均为ES5方法
并归方法
-
reduce 可以求数组中所有值之和的操作
var arr = [1, 2, 3, 4, 5, 4, 3, 2, 1] let sum = arr.reduce(function (pre, item, index) { return pre + item }) console.log(sum); // 25
-
reduceRight 是从数组后面向前遍历