用filter过滤数组对象,并统计过滤的项目

var data=[
        {id:1001,icon:"img/1.png",name:"餐饮0",num:1,price:10,a:1},
        {id:1002,icon:"img/2.png",name:"餐饮1",num:1,price:20,a:2},
        {id:1002,icon:"img/2.png",name:"餐饮1",num:1,price:20,a:3},
        {id:1003,icon:"img/3.png",name:"餐饮2",num:1,price:30,a:4},
        {id:1003,icon:"img/3.png",name:"餐饮2",num:1,price:30,a:5},
        {id:1004,icon:"img/4.png",name:"餐饮3",num:1,price:40,a:6},
        {id:1005,icon:"img/5.png",name:"餐饮4",num:1,price:50,a:7},
        {id:1005,icon:"img/5.png",name:"餐饮4",num:1,price:50,a:8},
        {id:1006,icon:"img/6.png",name:"餐饮5",num:1,price:60,a:9},
        {id:1006,icon:"img/6.png",name:"餐饮5",num:1,price:60,a:10},
        {id:1006,icon:"img/6.png",name:"餐饮5",num:1,price:60,a:11},
        {id:1007,icon:"img/7.png",name:"餐饮6",num:1,price:70,a:12},
        {id:1008,icon:"img/8.png",name:"餐饮7",num:1,price:80,a:13},
        {id:1008,icon:"img/8.png",name:"餐饮7",num:1,price:80,a:14},
        {id:1008,icon:"img/8.png",name:"餐饮7",num:1,price:80,a:15},
        {id:1009,icon:"img/9.png",name:"餐饮8",num:1,price:90,a:16},
        {id:1010,icon:"img/10.png",name:"餐饮9",num:1,price:100,a:17}
    ];
    function filterArrObj(Arr){
        var num=1;
        var newArr=Arr.filter(function (t,index) {//index表示当前项的索引
            var bool=false;
            for(var i=index+1;i<Arr.length;i++){
                if(Arr[i].id===t.id){
                    bool=true;
                    num++;
                    break;
                }
            }
            t.num=num;
            if(!bool){
                num=1;
                return t;
            }
        });
        return newArr
    }

猜你喜欢

转载自www.cnblogs.com/qinghao-qin/p/10134651.html