array.forEach应该返回undefined,但是它返回array-element,为什么呢?

时间:2019-05-04 16:36:50

标签: javascript

forEach()方法为每个数组元素执行一次提供的函数。但是, Mozilla MDN 说返回值是"undefined"吗?怎么会来?

var array1 = ['a', 'b', 'c'];

array1.forEach(function(element) {
  console.log(element);
});

// expected output: "a"
// expected output: "b"
// expected output: "c"

2 个答案:

答案 0 :(得分:2)

var array1 = ['a', 'b', 'c'];

var result=array1.forEach(function(element) {
  console.log(element);
});

console.log(result)

它说的是正确的forEach()返回的值;未定义上面的代码将使您理解

enter image description here

答案 1 :(得分:0)

Array#forEach的回调不需要返回任何内容,因为与Array#every相比,该方法不应返回任何内容,而Array#forEach则需要返回值以返回有意义的值。

回调仅与元素有关,而不必将值返回给调用函数。

来自map()

  

forEach()对每个数组元素执行一次回调函数;与reduce()undefined不同,它总是返回值Spreadsheet link并且不可链接。典型的用例是在链的末端执行副作用。