0
我有一个这样的数组[1,1,1,1,2,2,2,3,3]
,我想用jQuery将它转换为[1,2,3,1,2,3,1,1]
。我没有代码,也不知道我该怎么做。jQuery按顺序排序数组值
我有一个这样的数组[1,1,1,1,2,2,2,3,3]
,我想用jQuery将它转换为[1,2,3,1,2,3,1,1]
。我没有代码,也不知道我该怎么做。jQuery按顺序排序数组值
您可以使用sorting with map通过使用具有相同组数组的哈希表的临时对象。从中取出用于排序的组的长度。
排序发生在组和索引中。
结果映射到已排序的临时数组的索引。
var array = [1, 1, 1, 1, 2, 2, 2, 3, 3],
groups = Object.create(null),
result = array
.map(function (a, i) {
return { index: i, group: (groups[a] = groups[a] || []).push(a) };
})
.sort(function (a, b) {
return a.group - b.group || a.index - b.index;
})
.map(function (o) {
return array[o.index];
});
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
你有没有做过任何研究数组排序? – evolutionxbox