【发布时间】:2017-08-21 16:02:13
【问题描述】:
我正在使用以下代码(由JQuery Javascript Sort Array by Highest Count 提供)对字符串列表从最高计数到最低计数进行排序:
var items = {}, sortableItems = [], i, len, element, listOfStrings;
listOfStrings = JSON.parse(the_chems);
for (i = 0, len = listOfStrings.length; i < len; i += 1)
{
if (items.hasOwnProperty(listOfStrings[i])) {
items[listOfStrings[i]] += 1;
} else {
items[listOfStrings[i]] = 1;
}
}
for (element in items)
{
if (items.hasOwnProperty(element)) {
sortableItems.push([element, items[element]]);
}
}
sortableItems.sort(function (first, second)
{
return second[1] - first[1];
});
代替这种类型的数组输入
["red", "red", "red", "blue", "blue"]
返回
[ [ "red", 3 ], [ "blue", 2 ] ]
我想使用像
这样的数组[["red","apple"], ["red","chilli"], ["red","melon"], ["blue","ocean"], ["blue","eyes"]]
然后返回
[["red", 3, ["apple","chilli","melon"]], ["blue", 2, ["blue","ocean"]]
【问题讨论】:
-
注意排序(假设计数是第二个属性)可以通过 result.sort((count_a, count_b) => count_b[1] - count_a[1]);跨度>
标签: javascript jquery arrays sorting