Я возвращаю объекты 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? Благодарю.
Вы имеете в виду что-то вроде
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
Демо: скрипка