在 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}]
最佳答案
JavaScript 数组 map() 方法
*)创建一个新数组,其中包含为每个数组元素调用一个函数的结果,并按顺序为数组中的每个元素调用一次提供的函数。
注意:map()方法对没有值的数组元素不执行函数,不改变原数组。
关于javascript - 数组映射函数不改变元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42242257/