gpt4 book ai didi

javascript - 对象数组的算术运算 - JavaScript

转载 作者:行者123 更新时间:2023-11-30 07:20:34 24 4
gpt4 key购买 nike

我有一个 JSON

const myJSON = [
{
name: 'compass',
LocX: 35,
LocY: 312
},
{
name: 'another',
LocX: 52,
LocY: 32
}
]

在 UI 中,如果用户想将数字 5 添加到两个属性之一,我应该如何处理?

我已经在做

myJSON.map(x => x[userSelectedProperty] + 5)
// when user selected property is 'LocX', [40, 57]

但我想要只更新值的完整数组。

[
{
name: 'compass',
LocX: 40,
LocY: 312
},
{
name: 'another',
LocX: 57,
LocY: 32
}
]

我该怎么做?

最佳答案

使用 Array#forEcah 简单地迭代和更新对象属性足以达到此目的的方法。

const myJSON = [{
name: 'compass',
LocX: 35,
LocY: 312
},
{
name: 'another',
LocX: 52,
LocY: 32
}
];

let userSelectedProperty = 'LocX';
myJSON.forEach(x => x[userSelectedProperty] += 5);

console.log(myJSON);


如果您想创建一个新数组,请使用 Array#map方法。

const myJSON = [{
name: 'compass',
LocX: 35,
LocY: 312
},
{
name: 'another',
LocX: 52,
LocY: 32
}
];

let userSelectedProperty = 'LocX';
let res = myJSON.map(x => {
// copy properties to a new object
let y = Object.assign({}, x);
y[userSelectedProperty] += 5;
return y;
});

console.log(res);

关于javascript - 对象数组的算术运算 - JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47245845/

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