我需要计算 json 数组中重复项目的数量,并将重复项目显示为单个项目,并且计数应该显示它重复了多少个项目。
请检查以下代码和输出以便您理解:
[{
"Name": "Jacob",
"Gender": "Male",
"City": "Newyork",
"State": "Newyork"
}, {
"Name": "Mason",
"Gender": "Male",
"City": "Los Angeles",
"State": "California"
}, {
"Name": "Ethan",
"Gender": "Male",
"City": "Chicago",
"State": "Illinois"
}, {
"Name": "Noah",
"Gender": "Male",
"City": "Newyork",
"State": "NewYork"
}, {
"Name": "Sophia",
"Gender": "Female",
"City": "Los Angeles",
"State": "California"
}, {
"Name": "Emma",
"Gender": "Female",
"City": "Los Angeles",
"State": "California"
}, {
"Name": "Isabella",
"Gender": "Female",
"City": "Chicago",
"State": "Illinois"
}, {
"Name": "Olivia",
"Gender": "Female",
"City": "Chicago",
"State": "Illinois"
}, {
"Name": "Elizabeth",
"Gender": "Female",
"City": "Newyork",
"State": "Newyork"
}, {
"Name": "zoey",
"Gender": "Female",
"City": "Newyork",
"State": "Newyork"
}]
所需的 json 输出是
Newyork : 4Times,
芝加哥:3次,
请找到 fiddle :
http://jsfiddle.net/vamsikrishna981/dMrNv/
最佳答案
试试这个 http://jsfiddle.net/RHYFC/
请参阅 fiddle 上的长版本和短版本
Javascript
var result = {};
for(var i = 0; i < data.length; i++){
for(var item in data[i]){
if(!result[item]){
result[item] = {};
}
if(!result[item][data[i][item]]){
result[item][data[i][item]] = 0;
}
result[item][data[i][item]]++;
}
}
关于ajax - 计算 Json 字符串中的重复值并将值和标签存储在另一个字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18558780/