【问题标题】:Javascript forEach MethodJavascript forEach 方法
【发布时间】:2020-03-17 04:51:35
【问题描述】:

出现未定义的错误。

var fruits = ["apple", "orange", "cherry"];
document.getElementById("demo").innerHTML = fruits.forEach(myFunction);

function myFunction(item, index) {
  return index + ":" + item + "<br>";
}

【问题讨论】:

  • 请阅读 JS 教程,后跟docs for what forEach does
  • 看看.forEach() 是如何工作的以及它返回了什么(提示:没有)
  • 你要使用的模式更像&lt;array&gt;.map(&lt;function that returns string&gt;).join('&lt;br&gt;')

标签: javascript methods foreach


【解决方案1】:

var fruits = ["apple", "orange", "cherry"];
fruits.forEach(myFunction);

function myFunction(item, index) {
  document.getElementById("demo").innerHTML += index + ":" + item + "<br>";
}
<p>List all array items, with keys and values:</p>

<p id="demo"></p>

【讨论】:

【解决方案2】:

返回值 arr.forEach 函数的返回值始终未定义

因此您可以创建一个包装函数,该函数将使用forEach 并返回数据。

请看下面的例子..

var fruits = ["apple", "orange", "cherry"];

document.getElementById("demo").innerHTML = getData(fruits);

function getData(fruits) {
  var str = "";

  fruits.forEach(function(item, index) {
    str += index + ":" + item + "<br>";
  });

  return str;
}
&lt;span id="demo" /&gt;

【讨论】:

    猜你喜欢
    • 2018-04-20
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-14
    • 2015-06-01
    • 2016-04-17
    • 1970-01-01
    相关资源
    最近更新 更多