我们在js中遍历的方法有很多,今天就来对比一下这么多方法的不同和应用场景
1、map()
有返回值,返回一个新的数组,每个元素为调用方法后的结果。
let list = [1, 2, 3, 4, 5];
let other = list.map((d, i) => {
return d * 2;
});
console.log(other);
// print: [2, 4, 6, 8, 10]
2、filter()
有返回值,返回一个符合条件的新数组
let list = [1, 2, 3, 4, 5];
let other = list.filter((d, i) => {
return d % 2;
});
console.log(other);
// print: [1, 3, 5]
3、some()
返回一个Boolean值,判断是否有符合条件的元素,如果循环到一个元素符合,则返回true,终止循环,如果所有元素都不符合,返回false
let list = [1, 2, 3, 4, 5];
list.some((d, i) => {
console.log(d, i);
return d > 3;
});
// print: 1 0
// 2 1
// 3 2
// 4 3
// true
4、every()
返回一个Boolean值,判断是否有符合条件的元素,如果循环到一个元素不符合,则返回false,终止循环,如果所有元素都符合,返回true
every.png
5、forEach()
没有返回值,只针对每一个元素调用function
let list = [1, 2, 3, 4, 5];
let other = [];
list.forEach((d, i) => {
other.push(d * 2);
});
console.log(other);
// print: [2, 4, 6, 8, 10]
网友评论