我正在尝试通过键对对象属性进行比较。 有一些示例数据:
const data = [{
"name": "John",
"value": "30"
}, {
"name": "Cindy",
"value": "50"
}, {
"name": "Mathew",
"value": "80"
}, {
"name": "Mike",
"value": "35"
}];
所以我想比较John和Mike名称(关键字)的属性值(value)。如果Mike的价值与John不同,则用Mike的价值对Mike的价值进行变异。 有一些算法
data.map(obj => {
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
let johnValue;
let mikeValue;
if(obj[key] == 'John') {
johnValue = Number(obj.value)
}
else if(obj[key] == 'Mike') {
mikeValue = Number(obj.value)
}
if(johnValue != mikeValue) {
newData = {
...data,
"Mike": johnValue
}
}
}
}
})
执行后,我希望获得
之类的数据const data = [{
"name": "John",
"value": "30"
}, {
"name": "Cindy",
"value": "50"
}, {
"name": "Mathew",
"value": "80"
}, {
"name": "Mike",
"value": "30"
}];
是否可以使用某些ES6功能更好地编写它? Fiddle
答案 0 :(得分:2)
是的,您可以缩短操作时间
double