gpt4 book ai didi

javascript - 对数组中的字符串进行排序

转载 作者:行者123 更新时间:2023-11-28 17:16:12 26 4
gpt4 key购买 nike

我有以下年龄组:

["35 - 44", "18 - 34", "55+", "45 - 54"]

我想对其进行排序,以便我有:

["18 - 34", "35 - 44", "45 - 54", "55+"]

到目前为止我所拥有的是:

arr.map(item => parseInt(item, 10)).sort((a, b) => a - b)

这给了我:

[18, 25, 35, 65]

但我现在不知道该怎么办。

感谢您的帮助。

最佳答案

不要通过parseInt映射它,否则字符串开头之后的非数字将被删除。只需使用 localeCompare 对普通字符串数组进行排序即可:

console.log(
["35 - 44", "18 - 34", "55+", "45 - 54"].sort((a, b) => a.localeCompare(b))
);

为了更加灵活,如果也存在个位数范围,也可以使用 numeric: true 选项:

console.log(
["35 - 44", "1-2", "3-4", "18 - 34", "55+", "45 - 54"]
.sort((a, b) => a.localeCompare(b, undefined, {numeric: true}))
);

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

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