为什么这个映射函数不会改变原始数组中的值?

2023-12-20

这是有问题的代码:

const array = [
  1, 2, 3
]

array.map(item => {
  item = item + 1
})

console.log(array)

我以为item(第一)论证map方法是对数组中原始项目的引用,直接改变它会改变第一个数组的内容......这不是真的吗?


你的数组包含原始类型元素(此处为整数)。原始类型的变量不能通过其引用进行改变。例如,如果数组的元素是对象,则可以进行变异,如下所示:

var array = [{val: 1}, {val: 2}, {val: 3}];
array.map(item => {item.val = item.val + 1});
console.log(array);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么这个映射函数不会改变原始数组中的值? 的相关文章

随机推荐