var arr = [{
"id": "1",
"name": "News",
}, {
"id": "3",
"parent": "1",
"name": "News 2"
}, {
"id": "5",
"parent": "3",
"name": "News",
}, {
"id": "7",
"parent": "5",
"name": "News 2"
}, {
"id": "15",
"name": "News 2"
}, {
"id": "20",
"name": "News 2"
}];
var deleted_id = 1;
for (var i = 0; i < arr.length; i++) {
if (arr[i].parent == deleted_id) {
arr.splice(i, 1);
} else continue;
}
我需要删除id为1的项目。同时,我还需要删除所有父级字段与被删除项目id相同的子级。
请注意,id为3的项目是id为5的项目的父级,而id为5的项目是id为7的项目的父级。它们也都应该被删除。
由于存在深层级别,因此结果应该是:
[{
"id": "15",
"name": "News 2"
}, {
"id": "20",
"name": "News 2"
}]