sum*_*rma 3 javascript arrays sorting typescript
我有一个数组:
let arr = ['100.12', '100.8', '100.11', '100.9'];
Run Code Online (Sandbox Code Playgroud)
排序后得到输出:
“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']
Run Code Online (Sandbox Code Playgroud)
结果会是这样的:
[“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英寸]
您可以使用string#localeComparewithnumeric属性根据数值对数组进行排序。
let arr = ['100.12', '77.8', '88', '77.11', '77.12', '77.9', '77', '119', '120', '100.8', '100.11', '100', '100.9'];
arr.sort((a, b) => a.localeCompare(b, undefined, {numeric: true}))
console.log(arr)Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2924 次 |
| 最近记录: |