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]
任何/所有结果为 true,则返回 true,否则返回 false。
这两个方法的行为类似于 || 和 && 运算符:如果 fn 返回一个真值,arr.some() 立即返回 true 并停止迭代其余数组项;如果 fn 返回一个假值,arr.every() 立即返回 false 并停止对其余数组项的迭代。