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 执行时改变原数组) 

因此假设 数组是值类型的,则不会改变原数组,

假设数组是引用类型的数组,如果改变数组选项中的引用类型的值则原数组会发生改变。

posted @ 2020-07-15 16:21  文学少女  阅读(3720)  评论(0编辑  收藏  举报