const arr = [{
"id": "BC",
"selected": true,
"partiallySelected": false,
"count": 175400,
"childrens": [{
"id": "BC-SRV",
"selected": false,
"partiallySelected": false,
"count": 22609,
"childrens": [{
"id": "BC-SRV-COM",
"selected": false,
"partiallySelected": false,
"count": 2304,
"childrens": [{
"id": "BC-SRV-COM-FTP",
"selected": false,
"partiallySelected": false,
"count": 187,
"childrens":[]
}, {
"id": "BC-SRV-COM-TEL",
"selected": false,
"partiallySelected": false,
"count": 137,
"childrens":[]
}, {
"id": "BC-SRV-COM-MSX",
"selected": false,
"partiallySelected": false,
"count": 222,
"childrens":[]
}, {
"id": "BC-SRV-COM-QQQ",
"selected": false,
"partiallySelected": false,
"count": 156,
"childrens":[]
}]
}, {
"id": "BC-SRV-BR",
"selected": false,
"partiallySelected": false,
"count": 2093,
"childrens": []
}, {
"id": "BC-SRV-GBT",
"selected": false,
"partiallySelected": false,
"count": 2133,
"childrens": []
}]
}, {
"id": "BC-DB",
"selected": false,
"partiallySelected": false,
"count": 20388,
"childrens":[]
}, {
"id": "BC-SYB",
"selected": true,
"partiallySelected": false,
"count": 13764,
"childrens":[]
}, {
"id": "BC-SYY",
"selected": true,
"partiallySelected": true,
"count": 22610,
"childrens":[]
}]
}];
递归树组,父节点selected
为true
且partiallySelected
为fasle
的时候,所有子节点childrens
下的节点的selected
则也修改为true
syncChildrenStatus(arr)
后
希望得到的
newArr = [{
"id": "BC",
"selected": true,
"partiallySelected": false,
"count": 175400,
"childrens": [{
"id": "BC-SRV",
"selected": true,
"partiallySelected": false,
"count": 22609,
"childrens": [{
"id": "BC-SRV-COM",
"selected": true,
"partiallySelected": false,
"count": 2304,
"childrens": [{
"id": "BC-SRV-COM-FTP",
"selected": true,
"partiallySelected": false,
"count": 187,
"childrens":[]
}, {
"id": "BC-SRV-COM-TEL",
"selected": true,
"partiallySelected": false,
"count": 137,
"childrens":[]
}, {
"id": "BC-SRV-COM-MSX",
"selected": true,
"partiallySelected": false,
"count": 222,
"childrens":[]
}, {
"id": "BC-SRV-COM-QQQ",
"selected": true,
"partiallySelected": false,
"count": 156,
"childrens":[]
}]
}, {
"id": "BC-SRV-BR",
"selected": true,
"partiallySelected": false,
"count": 2093,
"childrens": []
}, {
"id": "BC-SRV-GBT",
"selected": true,
"partiallySelected": false,
"count": 2133,
"childrens": []
}]
}, {
"id": "BC-DB",
"selected": true,
"partiallySelected": false,
"count": 20388,
"childrens":[]
}, {
"id": "BC-SYB",
"selected": true,
"partiallySelected": false,
"count": 13764,
"childrens":[]
}, {
"id": "BC-SYY",
"selected": true,
"partiallySelected": true,
"count": 22610,
"childrens":[]
}]
}]
修改原数组: