Привет, я создаю Angular Application, используя PrimeNg UI Framework, и обнаружил проблему, которую не могу решить.
Допустим, у меня есть Массив Объектов, где у Объектов есть следующая структура (Fyi, это TreeNode PrimeNg , это Древовидный компонент в разделе Data).
Вот так выглядит одиночный узел:
{
label?: string;
expandedIcon?: any;
collapsedIcon?: any;
children?: TreeNode[];
parent?: TreeNode;
id?: number;
}
Как вы видите, происходит связь между родителями и детьми.
Мой массив выглядит примерно так:
[
{ Id: 1,
label: "Books",
expandedIcon: "fa fa-folder-open",
collapsedIcon: "fa fa-folder",
children: [
{
Id: 2,
label: "Horror",
expandedIcon: "fa fa-folder-open",
collapsedIcon: "fa fa-folder",
children: [{
Id: 3,
label: "Stephen King",
expandedIcon: "fa fa-folder-open",
collapsedIcon: "fa fa-folder",
children: null,
parent: undefiend
}],
parent: {label: "Books", expandedIcon: "fa fa-folder-open"...}
}
];
parent: undefined;
},
{...}
]
Теперь возникает моя проблема: в моем приложении пользователь может выбрать один из этих объектов, родительский или дочерний (похоже на структуру Windows Explorer). И если выбрано, я хочу удалить этот объект.
Мой вопрос: как мне найти этот выбранный объект в моем массиве?
Допустим, выбранный узел является следующим.
{
label: "Stephen King",
expandedIcon: "fa fa-folder-open",
collapsedIcon: "fa fa-folder",
children: null,
parent: undefiend
}
Как я могу найти этот объект в моем массиве и удалить его? Фильтр может быть меткой или идентификатором.