我正在返回与它们具有相同值的json对象。我想避免重复相同的值,只是将它们合并到一起,包括随附的其他值。我一直试图获得具有相同值的对象的长度,以便我可以进行合并,但我没有得到任何地方。我所拥有的只是价值的实际长度,而不是它们出现的次数。
$.each(data, function(i, val)){
var city = val.city;
var name = val.name;
}
<!-- printing the results, they would all like this -->
Los Angeles
George Martin
Los Angeles
Alex Dell
Los Angeles
Tom Front
Sao Paulo
Jean Mont
Sao Paulo
Steve Bald
我想按城市分组。所以它看起来不会多余。我一直在尝试这个工作。
var newcity = null;
if(newcity !== city){
city = city;
}
newcity = city;
我也尝试过这个,这绝对是愚蠢的。计算城市的结果
var countcityobj = val.city.length;
有人可以指导我如何用jquery做到这一点吗?谢谢。
答案 0 :(得分:2)
你的意思是
var map = {};
$.each(data, function (i, rec) {
var vals = map[rec.city] ? map[rec.city] : map[rec.city] = [];
vals.push(rec);
});
console.log(map)
//the object map will have the city name as the key ans all the records of the city in an array as the value
演示:Fiddle