我一直想知道它们之间有什么区别。他们似乎都在做同样的事情......
最佳答案
区别在于返回值。
.map()
返回一个新的对象数组,这是通过对原始项目执行某些操作而创建的。
.every()
返回一个 bool 值 - 如果此数组中的每个元素都满足提供的测试函数,则为真。 .every()
的一个重要区别是测试函数可能并不总是为数组中的每个元素调用。一旦测试函数对任何元素返回 false,就不再迭代数组元素。因此,测试函数通常应该没有side effects。 .
.forEach()
不返回任何内容 - 它迭代数组,为数组中的每个项目执行给定的操作。
阅读这些以及许多其他内容 Array iteration methods at MDN .
关于javascript - .map、.every 和 .forEach 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7340893/