用filter过滤数组对象,并统计过滤的项目
Posted qinghao-qin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用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 }
以上是关于用filter过滤数组对象,并统计过滤的项目的主要内容,如果未能解决你的问题,请参考以下文章
ios开发中NSArray怎么用NSPredicate来过滤数组内容