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