forEach
- 遍历数组,数组中的每一项元素都调用一遍回调函数;
- 遍历整个数组,无法中途停止(即使有return也不会终止),所以效率低
- 返回值是undefined,不能链式调用;
- 不会改变原数组;
let arr = [1, 2, 3];
let a = arr.forEach((item, index) => {
item = item *2;
console.log(index, '===',item)
})
console.log(arr);
console.log(a);
/*
0 '===' 2
1 '===' 4
2 '===' 6
[ 1, 2, 3 ]
undefined
*/
some
- 遍历数组,查找是否存在满足条件的元素,如果有就停止循环
- 会根据回调函数的返回值确定是否停止循环;回调函数返回true就停止,否则继续循环;迭代效率更高;
- 返回值为布尔类型