重复的算1条,不重复的然后累加

时间:2022-04-06 20:38:15
var list=[{"name"="a","newid"=2},{"name"="a","price"=60,"newid"=2},{"name"="a","newid"=3},{"name"="b","newid"=3}]

1. 想要实现,name的计数:a:3,b1。
2.newid重复的算1条,不重复的然后累加, newid的计数:newid:2, newid:1
请问大神怎么实现

2 个解决方案

#1


var list=[{"name":"a","newid":2},{"name":"a","price":60,"newid":2},{"name":"a","newid":3},{"name":"b","newid":3}]

r = {}
for(i in list) {
  if(! r[list[i].name]) r[list[i].name] = 0;
  r[list[i].name]++;
}
for(i in r) document.write(i + ':' + r[i] + '<br>');
a:3
b:1


第二问不知什么意思

#2


意思就是我想得到两次数据的统计,第二条是,重复的算一条,再和不重复的累加,可以理解newid去重后,如果在数组name=a中就+1,

#1


var list=[{"name":"a","newid":2},{"name":"a","price":60,"newid":2},{"name":"a","newid":3},{"name":"b","newid":3}]

r = {}
for(i in list) {
  if(! r[list[i].name]) r[list[i].name] = 0;
  r[list[i].name]++;
}
for(i in r) document.write(i + ':' + r[i] + '<br>');
a:3
b:1


第二问不知什么意思

#2


意思就是我想得到两次数据的统计,第二条是,重复的算一条,再和不重复的累加,可以理解newid去重后,如果在数组name=a中就+1,