我有一个具有数字维度和字符串维度的数组。
arr = [12, "suffix", 12, "prefix", 2, "suffix", 0, "prefix"]
我想按数字(从最小到最大)然后从A-Z(这样前缀在后缀之前)进行排序。
我该怎么做?
答案 0 :(得分:2)
你可以简单地对它进行两次排序:
[12, "suffix", 12, "prefix", 2, "suffix", 0, "prefix"]
.sort()
.sort(function(a,b){return a-b;});
// == [0, 2, 12, 12, "prefix", "prefix", "suffix", "suffix"]
这使用内置文本排序和一个适用于数字和日期的简单数值排序。
对于更复杂的元素或庞大的集合,当执行时,自己编写自定义多标准.sort()
回调可能更快/更好,根据数据和需求量身定制。