有時候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
執行時改變原數組)
因此假設 數組是值類型的,則不會改變原數組,
假設數組是引用類型的數組,如果改變數組選項中的引用類型的值則原數組會發生改變。