使用 forEach 方法迭代陣列時,常常會遇到想要修改陣列元素的情況。但是,嘗試直接在回調中分配新值並不總是會影響原始數組。
考慮以下程式碼:
儘管在回調中賦值,原始陣列 arr 傳回其原始值。發生這種情況是因為 forEach 為回呼函數建立了陣列元素的淺表副本。
要從 forEach 迭代中修改陣列元素,我們需要將原始陣列傳遞為一個附加參數。這允許我們在回調中直接存取和修改數組本身:
透過使用Array[index],我們可以覆蓋原始數組元素。
或者,我們可以使用 forEach 的第二個參數在回調中設定 this 值。透過將其設定為原始數組,我們可以使用 this[index] 直接修改元素:
兩種方法都允許在迭代期間修改數組元素。兩者之間的選擇取決於偏好。
值得一提的是,forEach 是陣列原型提供的幾個陣列實用程式之一。其他常用的實用程式包括:
以上是如何在 forEach 迴圈中修改數組值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!