我正在使用数组来存储文本中特定单词的出现次数。数据的格式是word:number。 我想通过降序出现次数(即按值)对数组进行排序。 有没有一个干净的方式来做到这一点?或者我应该考虑使用不同的数据结构?如何在jQuery中对数组进行排序?
// This is how the array is filled.
var matches = ["word1", "word2", "word2", "word3", "word4", "word4", "word4"];
var count = {};
$.each(matches, function(key, value) {
if(!count[value])
count[value] = 1;
else
count[value]++;
});
循环之后是我所得到的,并希望通过降值排序:
count = { 'word1':'1', 'word2':'2', 'word3':'1', 'word4':'3' };
我确实希望它看起来像(按价值排序):
count = { 'word4':'3', 'word2':'2', 'word1':'1', 'word3':'1' };
它不是数组,它是对象。 – 2011-06-13 11:00:08
虽然这不是一个有效的对象。或者OP意味着'['word1','word2',...]'或者他失去了钥匙。 – 2011-06-13 11:28:46
对不起,评论仅指第一行(改变了它)。 @Tomalak这就是我的意思。 – Steven 2011-06-13 11:37:08