Underscore.js 使用.countBy汇总数据

Underscore.js 使用.countBy汇总数据,underscore.js,Underscore.js,我正试图找出如何使用中的方法总结以下数据。我有以下数据: var数据= [ {“id”:“338b79f07dfe8b3877b3aa41a5bb8a58”,“值”:{“国家”:“美国”}, {“id”:“338b79f07dfe8b3877b3aa41a5bb983e”,“值”:{“国家”:“挪威”}, {“id”:“338b79f07dfe8b3877b3aa41a5ddfefe”,“值”:{“国家”:“匈牙利”}, {“id”:“338b79f07dfe8b3877b3aa41a5fe29

我正试图找出如何使用中的方法总结以下数据。我有以下数据:

var数据=
[
{“id”:“338b79f07dfe8b3877b3aa41a5bb8a58”,“值”:{“国家”:“美国”},
{“id”:“338b79f07dfe8b3877b3aa41a5bb983e”,“值”:{“国家”:“挪威”},
{“id”:“338b79f07dfe8b3877b3aa41a5ddfefe”,“值”:{“国家”:“匈牙利”},
{“id”:“338b79f07dfe8b3877b3aa41a5fe29d7”,“值”:{“国家”:“美国”},
{“id”:“b6ed02fb38d6506d7371c419751e8a14”,“值”:{“国家”:“德国”},
{“id”:“b6ed02fb38d6506d7371c419753e20b6”,“值”:{“国家”:“匈牙利”},
{“id”:“b6ed02fb38d6506d7371c419755f34ad”,“值”:{“国家”:“美国”},
{“id”:“b6ed02fb38d6506d7371c419755f3e17”,“值”:{“国家”:“德国”},
{“id”:“338b79f07dfe8b3877b3aa41a506082f”,“值”:{“国家”:“联合王国”},
{“id”:“9366afb036bf8b63c9f45379bbe29509”,“值”:{“国家”:“联合王国”}
]
我想这样总结一下:

{
美国:3,
挪威:1,
匈牙利:2,
德国:2,
联合王国:2
}
如何将其传递到由underline.js提供的
\uuu.countBy()
方法中?

尝试以下方法:

var数据=
[
{“id”:“338b79f07dfe8b3877b3aa41a5bb8a58”,“值”:{“国家”:“美国”},
{“id”:“338b79f07dfe8b3877b3aa41a5bb983e”,“值”:{“国家”:“挪威”},
{“id”:“338b79f07dfe8b3877b3aa41a5ddfefe”,“值”:{“国家”:“匈牙利”},
{“id”:“338b79f07dfe8b3877b3aa41a5fe29d7”,“值”:{“国家”:“美国”},
{“id”:“b6ed02fb38d6506d7371c419751e8a14”,“值”:{“国家”:“德国”},
{“id”:“b6ed02fb38d6506d7371c419753e20b6”,“值”:{“国家”:“匈牙利”},
{“id”:“b6ed02fb38d6506d7371c419755f34ad”,“值”:{“国家”:“美国”},
{“id”:“b6ed02fb38d6506d7371c419755f3e17”,“值”:{“国家”:“德国”},
{“id”:“338b79f07dfe8b3877b3aa41a506082f”,“值”:{“国家”:“联合王国”},
{“id”:“9366afb036bf8b63c9f45379bbe29509”,“值”:{“国家”:“联合王国”}
];
var countData=u0.countBy(数据,函数(obj)){
返回对象值.country.replace(“,”);
}); 
console.log(countData);
JSIDLE:

“干净的js”:

var t={};
对于(变量i=0,l=data.length;i
结果:

Germany 2
Hungary 2
Norway 1
United Kingdom 2
United States 3
1班轮使用


顺便说一句:试着多接受一些你得到的答案。这是一个很好的习惯。好吧,那么我在哪里可以接受答案呢。我在任何地方都看不到任何选择。太好了,成功了!出于兴趣,obj.value.signature\u算法替换了什么(“,”);行吗?它用下划线替换国家名称中的空格,以便键有效。(虽然不完全是必需的:))然后将countData中的值添加到网页中的最佳方法是什么?
var countData = data.reduce(function (a, x) {a[x.country] = (a[x.country] ? a[x.country] : 0) + 1; return a;}, {});