Help us understand the problem. What is going on with this article?

Underscore.jsで配列中の同じ文字列や数値の出現回数を取得

More than 5 years have passed since last update.

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
}

ソートのスマートなやり方ご存知の方がいればご教授頂きたいです汗

n0bisuke
プロトタイピング専門スクール「プロトアウトスタジオ」で教えたりしてます。 プロフ -> https://dotstud.io/members/n0bisuke
https://protoout.studio
dotstudio
全ての人がモノづくりを楽しむ世界を目指して活動しています。
https://dotstud.io
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away