数据结构
const mapList = [
{
"id": 210000,
"name": "辽宁省",
"children": [{
"id": 210100,
"name": "沈阳市",
"children": [{
"id": 210102,
"name": "和平区"
}, {
"id": 210103,
"name": "沈河区"
}, {
"id": 210104,
"name": "大东区"
}, {
"id": 210105,
"name": "皇姑区"
}, {
"id": 210106,
"name": "铁西区"
},
...
]
},
]
需求
一个省市区组件, 现在不需要区的选项了, 去掉最后一个children节点
代码
function checkChild(data) {
return data.map(item => {
if (item.hasOwnProperty('children')) {
// 如果有children节点 往下递归赋值给children
item.children = checkChild(item.children)
if (item.children.every(item => !item)) {
// 如果当前children的元素都为 false, 删除当前节点的children
delete item.children
}
return item
} else {
// 如果没有children节点 [false, false, ... false]
return false
}
})
}