【js】统计数组中某些项的个数

方法一:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            var arr = [
                {
                    group:"user",
                    id:"2642ba0e_20da_fd20_7a99_97faebde4c57",
                    title:"lisaWeb",
                    tooltip:"",
                },
                {
                    group:"department",
                    id:"2642ba0e_20da_fd20_7a99_97faebde4c57",
                    title:"lisaWeb",
                    tooltip:"",
                },
                {
                    group:"user",
                    id:"2642ba0e_20da_fd20_7a99_97faebde4c57",
                    title:"lisaWeb",
                    tooltip:"",
                },
                {
                    group:"user",
                    id:"2642ba0e_20da_fd20_7a99_97faebde4c57",
                    title:"lisaWeb",
                    tooltip:"",
                },
            ];
            var json = {
                'user':0,
                'department':0,
                'label':0,
                'post':0
            }
            for(var i = 0 ; i < arr.length; i++){
                for(key in json){
                    if(arr[i].group == key){
                        json[key]++
                    }
                }
            }
            console.log(json);//{user: 3, department: 1, label: 0, post: 0}
        </script>
    </head>
    <body>
    </body>
</html>

 方法二:利用reduce

var json = {
    'user':0,
    'department':0,
    'label':0,
    'post':0
}
var temp = arr.reduce((pre,cur)=>{
    if(cur.group in pre){
        pre[cur.group] ++;
    } else {
        pre[cur.group] = 1;
    }
    return pre;
},json)
console.log(temp);

 

 

 

posted on 2018-08-07 16:49  smile轉角  阅读(5669)  评论(0编辑  收藏  举报

导航