gpt4 book ai didi

javascript - 使用负数和正数对字符串数组进行排序

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:10:58 24 4
gpt4 key购买 nike

首先,我找不到解决整个问题的问题。

我曾经这样比较数组:

array.sort((a, b) => {
return a.localeCompare(b, undefined, {numeric: true, sensitivity: 'base'})
})

但我意识到它不适用于像 ['a', 'A', 'B', -1.50', '0', '1.50', '-2', '2' 这样的数组]

预期输出为:['-2', '-1.50', '0', '1.50', '2', 'A', 'a', 'B'].

我有一些肮脏的想法来实现它。但也许有一种干净简单的方法。

最佳答案

您可以通过获取所需属性的增量来预先进行比较。这将保存数值的顺序。

console.log(
['a', 'A', 'B', '-1.50', '0', '1.50', '-2', '2', 'D']
.sort((a, b) => a - b || a.localeCompare(b, undefined, {sensitivity: 'base'}))
);

numeric: true 选项可以省略,因为在表达式的左侧没有要比较的两个数字。

关于javascript - 使用负数和正数对字符串数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50247962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com