const testArr = [
{ id: 'aaa',
children: [
{ id: 'aaa-1',
children: [
{ id: 'aaa-1-1' }
]
},
{ id: 'aaa-2'}
]
},
{ id: 'bbb' },
]
У меня есть вложенный массив объектов для хранения моего redux
магазина.Я хочу добавить новое свойство к объекту.Давайте добавим children
к id: aaa-2
, объект будет ниже:
const testArr = [
{ id: 'aaa',
children: [
{ id: 'aaa-1',
children: [
{ id: 'aaa-1-1' }
]
},
{ id: 'aaa-2',
children: [{ someNewKey: 'someNewValue' }]
}
]
},
{ id: 'bbb' },
]
Есть ли способ обновить вложенный уровень объекта с определенной парой ключ: значение?Я пытаюсь сделать функцию, но она не работает хорошо
Я пытался // , но она не работает должным образом при попытке внутренних обновлений
const updateDeep = (arr, id, push) => {
return arr.map(el => {
if (el.id === id) {
return Object.assign({}, el, { children: push })
}
else {
if (el.children) {
return updateDeep(el.children, id, push)
} else {
return el
}
}
})
}