我有一个包含公司和国家/地区的 json 文件。创建对象最正确的方法是什么。循环遍历所有国家,我必须计算有多少家公司与特定国家相关,才能得到结果对象,大致格式如下:
country = {
USA: 13,
Germany: 11,
Belgia: 3
}
最佳答案
您可以尝试这样的操作:(使用编辑之前问题中的对象数据。)
var jsondata = {"list":[{"name":"Photolist","location":{"name":"Poland","code":"PL"},"partners":[{"name":"Oloo","value":30},{"name":"Flashset","value":87}]},{"name":"Mymm","location":{"name":"Ukraine","code":"UA"},"partners":[{"name":"Photojam","value":57},{"name":"Divavu","value":82},{"name":"Quinu","value":18}]},{"name":"Yata","location":{"name":"United States","code":"US"},"partners":[{"name":"Meetz","value":72}]},{"name":"Brainbox","location":{"name":"Norway","code":"NO"},"partners":[{"name":"Divavu","value":42}]},{"name":"Flashpoint","location":{"name":"Sweden","code":"SE"},"partners":[{"name":"Babbleopia","value":53},{"name":"Buzzdog","value":70},{"name":"Voolia","value":20}]},{"name":"Photospace","location":{"name":"Poland","code":"PL"},"partners":[{"name":"Yakitri","value":81},{"name":"Divavu","value":85},{"name":"Skimia","value":12},{"name":"Meeveo","value":27}]},{"name":"Realfire","location":{"name":"Poland","code":"PL"},"partners":[{"name":"Topicshots","value":81}]}]};
var countries = {};
jsondata.list.forEach(function (elem) {
if (elem.location.name in countries) {
countries[elem.location.name]++;
} else {
countries[elem.location.name] = 1;
}
});
console.log(countries);
关于javascript - 在循环中创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46015016/