{
"name":"123",
"reponsetype":"2",
"ussdcode":"123",
"parrentussd":"0",
"children": [
{
"name":"1 Menu",
"reponsetype":"2",
"ussdcode":"123*1",
"parrentussd":"123"
},
{
"name":"Menu 2",
"reponsetype":"2",
"ussdcode":"123*2",
"parrentussd":"123",
"children":[
{
"name":"Dynamic Menu 1",
"reponsetype":"4",
"ussdcode":"123*2",
"parrentussd":"123*2"
}
]
}
答案 0 :(得分:0)
您可以使用递归来实现。
尝试一下:
let arr = { "name": "123", "reponsetype": "2", "ussdcode": "123", "parrentussd": "0", "children": [{ "name": "1 Menu", "reponsetype": "2", "ussdcode": "123*1", "parrentussd": "123" }, { "name": "Menu 2", "reponsetype": "2", "ussdcode": "123*2", "parrentussd": "123", "children": [{ "name": "Dynamic Menu 1", "reponsetype": "4", "ussdcode": "123*2", "parrentussd": "123*2" }] }] }
let res = [];
function getChild(obj) {
for (let i = 0; i < obj.children.length; i++) {
if (obj.children[i].children) {
getChild(obj.children[i]);
delete obj.children[i].children;
res.push(obj.children[i])
} else {
res.push(obj.children[i])
}
}
}
getChild(arr);
console.log(res);