数组:
["6", "3", "1A", "4", "10", "1"]:
预期产出:
["1", "1A", "3", "4",, "6", "10"];
将数组放到parseInt
会破坏代码。
我使用sort(function(a,b){return a-b;})
进行排序。
然而,按原样使用它会将1A
放在排序列表的末尾。
答案 0 :(得分:5)
localeCompare应该可以解决问题。
var list = ["6", "3", "1A", "4", "10", "1"]
console.log(list)
var sorted = list.sort(function(a, b) {
return a.localeCompare(b, undefined, {
numeric: true
})
})
console.log(sorted)