源代碼:
1 // 樹狀數組指定位置增加子節點(必須標識為key) 2 addChildren({ arr, value, item }) { 3 let newArr = [] 4 arr.forEach(ele => { 5 if (ele.key === value) { 6 ele.children.push(item) 7 newArr.push(ele) 8 } else { 9 if (ele.children.length > 0) { 10 ele.children = this.addChildren({ 11 arr: ele.children, 12 value, 13 item 14 }) 15 newArr.push(ele) 16 } else { 17 newArr.push(ele) 18 } 19 } 20 }) 21 return newArr 22 }
參數解析:{
arr: 待處理數組
value: 待添加子節點的key的值
item: 待添加的節點數據
}