【发布时间】:2014-02-11 05:40:37
【问题描述】:
这两种方法都遍历当前数组的元素,但只有 Array.prototype.every 允许您跳出循环,类似于您可以使用 break 退出 for 循环。
查看browser compatibility matrixes 时,两者似乎都受到相同浏览器的支持。
与我错过的 forEach 相比,Array.prototype.every 是否有任何缺点(性能、可读性等),或者为什么 every 不更常见?
这里的主要观点是,为了可读性,大多数时候我想使用 forEach 作为经典 for 循环的替代品,但鉴于没有办法跳出 for-each 循环,在这里,every 似乎更像是一个等价物。 MDN 上已经提到了使用 every 的选项。
【问题讨论】:
-
它们并不完全一样,
every()在所有元素都满足条件时返回 true 而forEach()为每个元素执行一个函数 -
当然可以,但是两者都可以用来遍历数组中的每个元素。
-
@Andreas,adeneo OP 已经在问题中提到了这一点是理想的行为。
-
filter和map也可用于遍历数组,但这并不是它们的真正用途。
标签: javascript arrays