首頁 > web前端 > js教程 > 主體

如何在 forEach 迴圈中修改數組值?

Mary-Kate Olsen
發布: 2024-11-11 06:50:02
原創
929 人瀏覽過

How do I modify array values within a forEach loop?

使用 forEach 修改陣列值

使用 forEach 方法迭代陣列時,常常會遇到想要修改陣列元素的情況。但是,嘗試直接在回調中分配新值並不總是會影響原始數組。

意外行為

考慮以下程式碼:

儘管在回調中賦值,原始陣列 arr 傳回其原始值。發生這種情況是因為 forEach 為回呼函數建立了陣列元素的淺表副本。

授予寫入權限

要從 forEach 迭代中修改陣列元素,我們需要將原始陣列傳遞為一個附加參數。這允許我們在回調中直接存取和修改數組本身:

透過使用Array[index],我們可以覆蓋原始數組元素。

將此作為替代方案

或者,我們可以使用 forEach 的第二個參數在回調中設定 this 值。透過將其設定為原始數組,我們可以使用 this[index] 直接修改元素:

方法選擇

兩種方法都允許在迭代期間修改數組元素。兩者之間的選擇取決於偏好。

其他陣列實用程式

值得一提的是,forEach 是陣列原型提供的幾個陣列實用程式之一。其他常用的實用程式包括:

  • filter:建立一個包含符合特定條件的元素的新陣列。
  • map:透過轉換現有陣列的每個元素來建立一個新陣列。
  • some:檢查陣列中是否至少有一個元素符合特定條件。
  • every:檢查陣列中的所有元素是否符合特定條件。
  • find:傳回數組中滿足特定條件的第一個元素。

以上是如何在 forEach 迴圈中修改數組值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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