map方法到底會不會改變原始數組?


有時候map方法會改變原數組,但我之前明明記得map方法是不會改變原數組,但是我在實際項目中發現map是會改變原數組的。amazing,那么讓我們一探究竟。

Array.prototype.map()

map() 方法創建一個新數組,其結果是該數組中的每個元素是調用一次提供的函數后的返回值。

var new_array = arr.map(function callback(currentValue[, index[, array]]) {
 // Return element for new_array 
}[, thisArg])

 

MDN上清清楚楚說 map不修改調用它的原數組本身(當然可以在 callback 執行時改變原數組) 

因此假設 數組是值類型的,則不會改變原數組,

假設數組是引用類型的數組,如果改變數組選項中的引用類型的值則原數組會發生改變。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM