如何在嵌套的 Javascript 物件中獲取父 ID 陣列?源物件:
const obj = {
id: '01',
children: [
{
id: '02',
children: [
{
id: '03',
children: [],
},
{
id: '04',
children: [
{
id: '05',
children: [],
}
],
}
],
},
{
id: '06',
children: [
{
id: '07',
children: [],
},
{
id: '08',
children: [
{
id: '09',
children: [],
}
],
}
],
},
]
}
Func 應該得到 id 和 obj,比如我有輸入 id = '08',結果陣列應該是這樣的順序 ['01', '06', '08']
或者 id = '05', 結果 ['01', '02', '04', '05']
const getParentsArr = (obj, id) => {
const arr = []
arr.push(obj.id)
function recursiveFind(children) {
...
}
return recursiveFind(obj.children);
}
uj5u.com熱心網友回復:
const obj = {"id":"01","children":[{"id":"02","children":[{"id":"03","children":[]},{"id":"04","children":[{"id":"05","children":[]}]}]},{"id":"06","children":[{"id":"07","children":[]},{"id":"08","children":[{"id":"09","children":[]}]}]}]};
const f = (obj, id) => [obj.id,
...obj.children.map(c=>f(c,id)).find(i=>i.includes(id))??[]];
console.log(f(obj, '05'));
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/537104.html
