【发布时间】:2017-07-03 16:38:39
【问题描述】:
在 JavaScript 中,我有一个数组,它是
array = [true, false]
在某些情况下,我正在尝试初始化这个数组
array.map(item => {
item = false
})
上面的代码运行后,数组没有变化,还是[true, false],所以.map有时候不靠谱?
还有一个问题: 运行下面的代码后,数组发生了变化。为什么它在这种情况下有效?
let array = [{id:1, checked: false}, {id:2, checked:true}]
array.map(item => {
item.checked = true
})
数组变成[{id:1, checked: true}, {id:2, checked:true}]
【问题讨论】:
-
.map 函数不会改变原始数组,它会返回另一个您应该使用的数组。
标签: javascript arrays array.prototype.map