Используйте оператор распространения (...
), чтобы создать «дубликат» объекта, чтобы не изменять оригинал.
Первоначально вы копировали ссылку, хранящуюся в dict1[123]
, в dict2[123]
. Это означает, что оба свойства dict указывают на один и тот же объект, и изменения, сделанные из одного dict, можно увидеть из другого. Используя оператор распространения, вы добавляете все содержимое объекта в новый. Это означает, что dict1[123]
и dict2[123]
будут хранить 2 разные ссылки, содержащие одинаковые данные, и вы можете изменять их независимо.
Подробнее об операторе распространения здесь .
dict1 = {
123:{
456:2
}
}
dict2 = {}
dict2[123] = {...dict1[123]}
delete dict2[123][456]
console.log(dict1)
console.log(dict2)