1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2014-11-27

##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
}

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

1
1
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?