gpt4 book ai didi

javascript - map 方法更改旧数组

转载 作者:行者123 更新时间:2023-11-29 19:11:29 24 4
gpt4 key购买 nike

为什么 map 正在改变旧数组 numbers ?我不想更改旧数组,我想编辑它 (key * 2) 并将其放入新数组 roots 中。有人可以解释问题是什么吗?

var numbers = [{key:1,prop:"ok"}, {key:2,prop:"ok"}, {key:3,prop:"ok"}];
var roots = numbers.map(index => {
index.key = index.key * 2
return index
})

console.log('numbers', numbers)
console.log('roots', roots)

最佳答案

在您的情况下,最简单的方法是

var numbers = [{key:1,prop:"ok"}, {key:2,prop:"ok"}, {key:3,prop:"ok"}];
var roots = numbers.map(elt => ({
key: elt.key * 2,
prop: elt.prop
}));

换句话说,从 map 返回新对象

或者如果你愿意,你可以解构参数:

var roots = numbers.map(({key, prop}) => ({key: key * 2, prop}));

关于javascript - map 方法更改旧数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38569774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com