数组元素分类

最近开发遇到了一个数组元素分类的问题,运用了数组的reduce方法,在此记录下来。

        function classify(arr) {
          const countedObj = arr.reduce((pre, cur) => {
                if(pre[cur.level]){
                   pre[cur.level].push(cur) 
               }else{
                    pre[cur.level] = [cur]
               }     
                return pre
          }, {})
          return Object.entries(countedObj).reduce((pre, cur) => {
            pre.push(cur[1])
            return pre
          }, [])
        }
        let arr = [
            {level:'1',name:"张三"},
            {level:'2',name:"王五"},
            {level:'2',name:"赵六"},
            {level:'3',name:"王八"},
            {level:'1',name:"李四"},
            {level:'1',name:"吴彦祖"},
        ]
        console.log(classify(arr))
0%