У меня есть этот объектКак мутировать объект без дублирования?
var originalObj = {
shop: [
{ id: 1, list: "buy milk", complete: false},
{ id: 2, list: "buy bread", complete: false}
]
}
Я хотел бы изменить первый элемент в complete: true
var newObj = Object.assign({}, originalObj, {
['shop']: [
{...originalObj['shop'][0]
complete: true}, ...originalObj['shop']
]
})
Проблема с этим состоит в том, что newObj
заканчивает с тремя объектами, где один я пытаюсь для редактирования дублируется.
Есть ли еще более важная проблема, чем кажется на первый взгляд? Почему не просто 'originalObj.shop [0] .complete = true'? –
@JamesThorpe, но я не хочу менять исходный объект – relidon
Это потому, что вы добавляете весь массив магазина обратно после добавления этого объекта {... originalObj.shop [0], complete: true} – inoabrian