我正在尝试使用 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]我究竟做错了什么?
1 回答

慕莱坞森
TA贡献1810条经验 获得超4个赞
您需要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));
添加回答
举报
0/150
提交
取消