【问题标题】:counter in map() functions does not work, why?map() 函数中的计数器不起作用,为什么?
【发布时间】:2020-10-07 12:32:12
【问题描述】:

我有问题。似乎我的计数器不起作用并且不会更改为 1,因此对于 map 函数中的每个项目,我的 questioncontext 变量始终为“Fragekontext0”。你知道为什么吗?代码如下:

Object.keys(editorJSON).map((key) => {
  let questioncounter = 0;
  if (editorJSON[key].name === "Frage") {
    let questioncontext = "Fragekontext" + questioncounter;
    someCode
    );
  }
  questioncounter += 1;
  return "Success";
});

};

【问题讨论】:

  • 为什么不应该是0questioncounter 是回调的一部分。要么将其移到回调之外,要么使用索引(回调的第二个参数)。
  • 如果您对 .map() 的返回值不感兴趣(显然您对此不感兴趣,至少在您的示例中存在内置语法错误),那么 .map() 不是正确的工具。

标签: javascript arrays counter map-function


【解决方案1】:

在每个地图回调函数中都声明了一个新的questioncounter 变量。要让每个回调访问相同的 questioncounter 变量,请将 let questioncounter = 0; 放在 map 函数之外。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-12
    • 2022-06-10
    • 1970-01-01
    • 2012-05-14
    • 1970-01-01
    • 2020-03-28
    • 2017-07-09
    相关资源
    最近更新 更多