js数组处理--循环过滤树形数组

源代码:

 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的值 }

posted @ 2021-02-22 17:24  心心眼  阅读(1833)  评论(0编辑  收藏  举报