簡體   English   中英

JavaScript:在高階函數中使用forEach來操作/添加數組中的每個元素錯誤:未定義返回

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM