数组遍历

2021-04-16  本文已影响0人  zlqinying

1、arr.forEach 方法允许为数组的每个元素都运行一个函数。forEach,for 或 for..of。

arr.forEach(function(item,index,array) { // ... do something with item});

2、find 和 findIndex

let result = arr.find(function(item,index,array) { 

 // 如果返回 true,则返回 item 并停止迭代 

 // 对于假值(falsy)的情况,则返回 undefined

});

如果它返回 true,则搜索停止,并返回 item。如果没有搜索到,则返回 undefined

arr.findIndex 方法(与 arr.find 方法)基本上是一样的,但它返回找到元素的索引,而不是元素本身。并且在未找到任何内容时返回 -1。

let users = [ {id: 1, name: "John"}, {id: 2, name: "Pete"}, {id: 3, name: "Mary"}];

let user = users.find(item => item.id == 1);

alert(user.name); // John

3、filter 返回所有匹配元素组成的数组

let results = arr.filter(function(item,index,array) { 

 // 如果 true item 被 push 到 results,迭代继续 

 // 如果什么都没找到,则返回空数组

});

let users = [ {id: 1, name: "John"}, {id: 2, name: "Pete"}, {id: 3, name: "Mary"}];

// 返回前两个用户的数组

let someUsers = users.filter(item =>item.id < 3);

console.log(someUsers) // [{id: 1, name: "John"},{id: 2, name: "Pete"}]

4、arr.map 它对数组的每个元素都调用函数,并返回结果数组。let result = arr.map(function(item,index,array) { // 返回新值而不是当前元素})

let arr = [1,2,3]

let newarr = arr.map(item =>item*2)

console.log(newarr) // [2,4,6]

5、arr.some(fn)/arr.every(fn) 

任何/所有结果为 true,则返回 true,否则返回 false。

这两个方法的行为类似于 || 和 && 运算符:如果 fn 返回一个真值,arr.some() 立即返回 true 并停止迭代其余数组项;如果 fn 返回一个假值,arr.every() 立即返回 false 并停止对其余数组项的迭代。

上一篇下一篇

猜你喜欢

热点阅读