我有以下代码:
fetchDemo(carMakesUrl).then(function(result) {
for(var i = 0; i < result.length; i++){
for(var prop in result[i]){
if(prop.length > 1){
console.log(result[i]['make_country']);
}
}
}
});
和“carMakesUrl”等于“https://rawgit.com/csabapalfi/20d74eb83d0be023205225f79d3e7964/raw/7f08af5c0f8f411f0eda1a62a27b9a4ddda33397/carmakes.json”
我得到的回报是这样的:
4 Italy
4 UK
4 USA
4 Italy
8 UK
4 Germany
4 UK
4 USA
16 UK
4 Germany
8 UK
4 Italy
4 France
the list carries on..
我正在寻找的是:
意大利重复了17次,这意味着“它生产了17种类型的汽车”,因此其他国家将生产许多不同的汽车...
我怎样才能控制台.log以便只输出一次国家名称和它产生的汽车数量?
答案 0 :(得分:1)
fetchDemo(carMakesUrl).then(function(result) {
var obj = {};
result.forEach(function(ele,ind){obj[ele.make_country] = (obj[ele.make_country] || 0) + 1});
console.log(obj);
});
你可以这样计算。
答案 1 :(得分:1)
我假设obj =结果。希望这对你有用。并且country_car_counter对象保存所需的输出
var country_car_counter = {};
obj.map(function(item){
var property = item.make_country;
country_car_counter[property] = (country_car_counter[property])?country_car_counter[property] + 1 : 1 ;
})
console.log('this is the required object',country_car_counter)