递归循环children加层级tier
let arr = [
{
name:"总费用",
money:"1000",
tier:1,
children:[
{
name:"伙食",
money:"500",
children:[
{name:"早餐",money:"100"},
{name:"午餐",money:"200"},
{name:"晚餐",money:"200"}
]
},
{
name:"住宿",
money:"500",
children:[
{name:"第一晚",money:"100"},
{name:"第二晚",money:"200"},
]
},
],
}
]
// 递归循环children加层级tier
function deep(val) {
val.forEach((item) => {
item.children = item.children && item.children.length > 0 ? item.children : undefined
if (item.children && item.children.length > 0) {
item.children.forEach((e) => {
e.tier = item.tier + 1
})
deep(item.children)
}
})
return true
}
deep(arr)
console.log(arr)
//打印返回的👇
//[
// {
// "name": "总费用",
// "money": "1000",
// "tier": 1,
// "children": [
// {
// "name": "伙食",
// "money": "500",
// "children": [
// {
// "name": "早餐",
// "money": "100",
// "tier": 3
// },
// {
// "name": "午餐",
// "money": "200",
// "tier": 3
// },
// {
// "name": "晚餐",
// "money": "200",
// "tier": 3
// }
// ],
// "tier": 2
// },
// {
// "name": "住宿",
// "money": "500",
// "children": [
// {
// "name": "第一晚",
// "money": "100",
// "tier": 3
// },
// {
// "name": "第二晚",
// "money": "200",
// "tier": 3
// }
// ],
// "tier": 2
// }
// ]
// }
//]