这里是有问题的代码:
const array = [
1, 2, 3
]
array.map(item => {
item = item + 1
})
console.log(array)
我认为 map
方法中的 item
(第一个)参数是对数组中原始项目的引用,直接改变它会改变内容第一个数组的...这不是真的吗?
最佳答案
您的数组包含基元类型 元素(此处为整数)。原始类型的变量不能通过它的引用来改变。例如,如果数组的元素是对象,则可能发生变异,如下所示:
var array = [{val: 1}, {val: 2}, {val: 3}];
array.map(item => {item.val = item.val + 1});
console.log(array);
关于javascript - 为什么这个映射函数不改变原始数组中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48166706/