【发布时间】:2019-05-14 20:10:33
【问题描述】:
我有一个数组:
let arr = ['100.12', '100.8', '100.11', '100.9'];
排序后得到输出:
'100.11',
'100.12',
'100.8',
'100.9',
但我希望它像页面索引一样排序:
'100.8',
'100.9',
'100.11',
'100.12',
编辑:
我几乎没有什么好的解决方案,但它们缺少一个地方,例如:
arr1 = ['100.12', '77.8', '88', '77.11', '77.12', '77.9', '77', '119', '120', '100.8', '100.11', '100', '100.9']
结果会是这样的:
["77.8", "77.9", "77.11", "77.12", "77", "88", "100.8", "100.11", "100.12", "100", "100.9", "119", "120"]
这里预计是:
[ "77", "77.8", "77.9", "77.11", "77.12", "88", "100", "100.8", "100.11", "100.12", "100.9", "119", "120"]
【问题讨论】:
-
我尝试过像这样的排序:
arr.sort(function (a, b) { return Number(a ) - Number(b); }); -
例如:arr1 = ['100.12', '77.8', '88', '77.11', '77.12', '77.9', '77', '119', '120', ' 100.8', '100.11', '100', '100.9'] 结果如下: ["77.8", "77.9", "77.11", "77.12", "77", "88", "100.8", " 100.11"、"100.12"、"100"、"100.9"、"119"、"120"] 这里预期为:["77"、"77.8"、"77.9"、"77.11"、"77.12"、"88" ”、“100”、“100.8”、“100.11”、“100.12”、“100.9”、“119”、“120”]
标签: javascript arrays typescript sorting