Я пытаюсь сравнить свойства объекта по ключу. Вот некоторые примеры данных:
const data = [{
"name": "John",
"value": "30"
}, {
"name": "Cindy",
"value": "50"
}, {
"name": "Mathew",
"value": "80"
}, {
"name": "Mike",
"value": "35"
}];
, поэтому я хотел бы сравнить значения свойств (значения) имен Джона и Майка (ключ). Если значение Mike отличается от John, измените значение Mike на значение John. Существует некоторый алгоритм
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