首頁 > web前端 > js教程 > 如何在 JavaScript `forEach` 迴圈內修改陣列元素?

如何在 JavaScript `forEach` 迴圈內修改陣列元素?

Mary-Kate Olsen
發布: 2024-11-08 18:06:02
原創
827 人瀏覽過

How to Modify Array Elements Inside a JavaScript `forEach` Loop?

在forEach 循環期間修改數組元素

在JavaScript 中,當使用forEach 方法迭代數組時,意識到這一點可能會令人沮喪對循環內各個元素所做的更改不會反映在原始數組中。這是因為 forEach 將元素的副本傳遞給回呼函數,而不是對實際元素的參考。

要從迭代函數啟用對數組元素的寫入訪問,有兩個選項:

選項1:提供數組作為第三個參數

forEach 方法採用可選的第三個參數,它代表陣列本身。透過在回調中為數組的相應索引分配新值,原始數組將被修改。

arr.forEach(function(part, index, theArray) {
  theArray[index] = "hello world";
});
登入後複製

選項2:使用帶有Bound This 的箭頭函數

實現所需行為的另一種方法是使用箭頭函數作為回調並提供數組作為this context:

arr.forEach(function(part, index) {
  this[index] = "hello world";
}, arr); // use arr as this
登入後複製

透過在回調中將數組設定為this,對元素所做的修改將直接套用於原始陣列。

其他注意事項:

  • 如果使用常規函數(函數宣告或表達式)作為回調。
  • 如果你打算在迴圈過程中修改陣列的長度,你應該使用傳統的 for 迴圈而不是 forEach 以避免意外的後果。
  • 熟悉其他陣列迭代方法(filter 、地圖等)有利於為每項任務選擇最合適的工具。

以上是如何在 JavaScript `forEach` 迴圈內修改陣列元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板