共同点
都可以遍历数组
回调函数中的参数基本一致
不同点
every()
调用every()并不能改变数组的值,只能检测数组中的每个值是否满足给定的条件。当遍历到某一个值不满足条件时,函数立即返回false,不再继续遍历。当数组中的每一个值都满足给定的条件时,函数返回true。forEach()
从头到尾的遍历数组,可以改变数组的值。
为数组中的每个元素都执行一遍传递给forEach()的回调函数
function isBigEnough(element, index, array) {
console.log(element);
return element >= 10;
}
[12, 5, 8, 130, 44].every(isBigEnough);
12
5
false
从上面的可以看出,数组中的第二个值不满足条件,遍历到该处时,函数就返回了。
function logArrayElements(element, index, array) {
console.log('a[' + index + '] = ' + element);
}
[2, 5, 9].forEach(logArrayElements);
a[0] = 2
a[1] = 5
a[2] = 9