##Javascriptでの配列操作は割と骨が折れますね。
投票システム的なものを作っているのですが、配列から投票数を取得したメモです。
underscore様々です。
http://underscorejs.org
##_.countByで集計
vote.js
var data = ['岩手','のびすけ','岩手','のびすけ','n0bisuke','LIG','LIG','岩手',4,4,4,4];
var vote = _.countBy(data, function(num) {
return num;
});
console.log(vote);
/*
{
LIG: 2,
n0bisuke: 1,
のびすけ: 2,
岩手: 3,
4: 4
}
*/
for inで取り出す
連想配列になるので for文ではなく for in
にします。
vote.js
for(var key in vote){
console.log(key +'の投票数は'+vote[key]+'です。');
}
/*
4の投票数は4です。
岩手の投票数は3です。
のびすけの投票数は2です。
n0bisukeの投票数は1です。
LIGの投票数は2です。
*/
疑問
これを
{
LIG: 2,
n0bisuke: 1,
のびすけ: 2,
岩手: 3,
4: 4
}
こうしたいのですが
{
4: 4,
岩手: 3,
LIG: 2,
のびすけ: 2,
n0bisuke: 1
}
ソートのスマートなやり方ご存知の方がいればご教授頂きたいです汗