Когда я удаляю свойство объекта, мне нужно удалить все ссылки на свойства-потомки, разбросанные по моему приложению:
const people = {
mary: {
children: [
john: new ChildClass(),
paul: new ChildClass(),
george: new ChildClass()
]
},
homer: {
children: [
bart: new ChildClass(),
lisa: new ChildClass(),
maggie: new ChildClass()
]
}
};
const all_children = [];
/* pseudocode:
foreach people(children) {
foreach children(child) {
all_children.push(child);
}
}
*/
all_children.forEach(child => {
/* does something with mary and homer's children */
});
//////////////////
delete people.mary;
all_children.forEach(child => {
/* STILL does something with mary and homer's children,
even though mary has been deleted */
});
Так что мне либо нужен способ удалить все ссылки на свойства-потомки, либо мне нужно указать, что ссылка связана с удаленным родителем, и игнорировать ее в моих вычислениях.
Каков правильный / наиболее приемлемый способ сделать это?