У меня есть массив объектов person, и я хочу обновить один из объектов на месте.Javascript Обновить объект массива по атрибуту объекта
persons: [{
id: '1',
name: 'John',
age: 12
}, {
id: '2',
name: 'Tom',
age: 13
}, {
id: '3',
name: 'David',
age: 14
}]
Функция у меня есть:
function updatePersonsWith(id, propName, value) {
this.persons.???
}
Аргументы, передаваемые в id
человека я хочу обновить, propName
это свойство person
объекта, может быть id
, name
или age
, value
это значение, которое я хочу заменить.
Я хочу найти объект по его id и обновить только этот объект массива.
updatePersonsWith(2, age, 16)
Результат будет выглядеть так:
persons: [{
id: '1',
name: 'John',
age: 12
}, {
id: '2',
name: 'Tom',
age: 16
}, {
id: '3',
name: 'David',
age: 14
}]
Может быть ES6 или с помощью lodash.
Возможного дубликат [Как я могу обновить строку в яваскрипте массива на основе значения ключа?] (Http://stackoverflow.com/ вопросы/16148150/как-кан-я-обновление-ряд-в-JavaScript-массив на основе-на-ключ-значение) – RaR