源代碼:
1 // 循環過濾樹形數組 2 filterArrForKey({ arr, key, value }) { 3 let newArr = [] 4 newArr = arr.map(item => { 5 if (item.children && item.children != null) { 6 item = { 7 ...item, 8 children: this.filterArrForKey({ 9 arr: item.children, 10 key, 11 value 12 }) 13 } 14 } 15 if (item[key] != value) { 16 return item 17 } else { 18 return null 19 } 20 }) 21 newArr = newArr.filter(item => item != null) 22 return newArr 23 },
參數解析:{ arr: 待處理數組 key: 過濾依據字段名 value: 要過濾的key的值 }