javascript - forEach 返回未定义 - 如何改为返回数组?

标签 javascript arrays ecmascript-6

下面给出的是我尝试使用箭头函数修改数组的代码,但在运行时,它返回一个未定义的值,因为输出有人可以提供建议

var modifyArray = (nums) => {
     return nums.forEach(function (element) {
          (element % 2 == 0) ? element *= 2 : element *= 3;
     })
}
console.log(modifyArray([1,2,3,4,5]));

最佳答案

.forEach 返回未定义。您可能想要.map到一个新数组并返回它:

 return nums.map(function (element) {
      return element * ((element % 2 == 0) ? 2 : 3);
 });

当然,您还必须返回内部函数内部的语句,否则计算结果也为未定义。

关于javascript - forEach 返回未定义 - 如何改为返回数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56198892/

相关文章:

javascript - 如何反向遍历树结构

arrays - Perl - 生成唯一标识符

c# - 接口(interface)应该使用 IEnumerable<MyObject> 而不是 MyObject[]

javascript - 将二维数组填充到表中(输出所有可能的组合)

javascript - 编写一个函数对对象数组进行排序(通过使用另一个对象来指定排序路径和顺序)

javascript - jQuery 手机 : How to invoke this (default) error loading page message?

javascript - 计时器可由多个用户查看

javascript - 如何在 ES6 中使用 React 编写交互式 d3 组件?

javascript - 无法理解 domEvent 的工作原理

javascript - 根据 id 数组过滤对象数组中的 id