[英]JavaScript: Higher Order Function that Calls Add Function to Return New Array; Error: 'NaN' elements in output array
[英]JavaScript: Use forEach within higher order function to manipulate / add to each element in array Error: undefined return
我试图使用forEach为数组中的每个元素添加10。 但是当我推送然后返回我的新阵列时,它会让我回复未定义。
以下是我的代码:
const array = [1, 2, 3];
function changeArray(array, inputFunc) {
//console.log(array)
let output = [];
array.forEach((ele) => {
return output.push(ele + 10);
});
}
changeArray(array)
预期回报:[11,12,13]
我究竟做错了什么?
您需要从最终函数return output
- forEach
不返回任何内容,并且不会对传递的回调内部的返回值执行任何操作。
const array = [1, 2, 3]; function changeArray(array, inputFunc) { let output = []; array.forEach((ele) => { output.push(ele + 10); }); return output; } console.log(changeArray(array));
您还可以使用map
来获得更简洁的代码:
const array = [1, 2, 3]; function changeArray(array, inputFunc) { return array.map(e => e + 10); } console.log(changeArray(array));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.