Ben*_* Li 6 javascript arrays array.prototype.map
在 JavaScript 中,我有一个数组,它是
array = [true, false]
Run Code Online (Sandbox Code Playgroud)
在某些情况下,我试图初始化这个数组
array.map(item => {
item = false
})
Run Code Online (Sandbox Code Playgroud)
运行上面的代码后,数组没有改变,仍然是[true, false],所以.map有时不可靠?
另一个问题:运行下面的代码后,数组发生了变化。为什么在这种情况下有效?
let array = [{id:1, checked: false}, {id:2, checked:true}]
array.map(item => {
item.checked = true
})
Run Code Online (Sandbox Code Playgroud)
数组变成 [{id:1, checked: true}, {id:2, checked:true}]
数组映射功能工作正常。的地图()方法创建调用此阵列中的每个元件上的提供功能的结果的新的数组。 map()不会改变调用它的数组。
var array = [true, false]
var new_array = array.map(function(item) {
return false;
});
console.log(array)
console.log(new_array)Run Code Online (Sandbox Code Playgroud)