我对递归.find()有一个小问题。当我用它来查找ID === 2时,它返回的对象是ID === 1 ...
我一直在挠头,但我不明白为什么会发生这种情况
我的对象与此相似
UPDATE:调试时,它似乎在正确的对象处完成,但最终的返回结果给出了正确对象的父对象,而不是实际对象
{ID: 1,
children: [
{ID:2,
children: [
{ID:4,
children: [...]},
]},
{ID:3,
children: [...]},
]}
findItem(ID: number, items: Agenda[] = this.getItems()){
const foundItem = items.find(a => {
if (ID === a.ID) {
return a;
} else {
return this.findItem(ID, a.children);
}
})
return foundItem;
}