我是打字稿的新手,在執行以下操作時遇到問題,我有一個陣列,我只想列印葉節點,結果陣列應該看起來像-['002','004','007'],可以有人請幫忙..期待學習,在此先感謝!
陣列——
[
{
Name: "A",
HasChildren: true,
Children: [
{
Name: "002",
HasChildren: false,
Children: []
},
{
Name: "004",
HasChildren: false,
Children: []
}
]
},
{
Name: "007",
HasChildren: false,
Children: []
}
]
如果陣列是
[ {
Name: "007",
HasChildren: false,
Children: []
}
]
結果陣列應該是 - ['007']
uj5u.com熱心網友回復:
您可以做的是遍歷每個元素。如果它沒有孩子,列印它并繼續到它的下一個兄弟。如果它確實有至少一個孩子,則以相同的邏輯遞回地遍歷每個孩子。
Stackblitz:https ://stackblitz.com/edit/typescript-vfvyn7?file=index.ts
const elements = [
{
Name: 'A',
HasChildren: true,
Children: [
{
Name: '002',
HasChildren: false,
Children: [],
},
{
Name: '004',
HasChildren: false,
Children: [],
},
],
},
{
Name: '007',
HasChildren: false,
Children: [],
},
];
console.log(elements);
function printLeaves(elements: any[]) {
for (const element of elements) {
if (element.Children.length == 0) {
console.log(element);
continue;
}
printLeaves(element.Children);
}
}
printLeaves(elements)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/479008.html
標籤:javascript 有角度的 打字稿 前端
