gpt4 book ai didi

javascript - 如何在排序比较过程中忽略值中的 "-"和 "."字符?

转载 作者:行者123 更新时间:2023-11-30 17:34:15 24 4
gpt4 key购买 nike

我有一个 html 页面,其中有一个可以排序的字段。我还创建了一个 javascript 函数,可以按顺序对该字段进行排序。假设 p_cSort 是该字段的“id”名称。

function change_sort(neworder) {
document.sortForm.p_cSort.value = neworder;
document.sortForm.submit();

但是当我有这样的值时

12.34
12-35
12.36
12-33

然后我在我的搜索页面上搜索它们。返回的结果是

12.34
12.36
12-33
12-35

如何忽略字符“.”和“-”排序时?

所以我要找的结果应该是:

12-33
12.34
12-35
12.36

最佳答案

你为什么不做一个自定义排序函数呢:

var x = ['12.5', '11.3', '13-5', '10-0'];
x.sort(function(a, b){
a = a.replace(/[-]/, '.');
b = b.replace(/[-]/, '.');
if( parseInt(a) < parseInt(b) ) return -1;
if( parseInt(a) > parseInt(b) ) return 1;
return 0;
});

输出:

["10-0", "11.3", "12.5", "13-5"]

如果您有 125.5 等等,这也适用。因为 .- 都用于比较。

>= 100 的示例

所以输入:

["100-0", "11.3", "12.5", "13-5"]

会输出

["11.3", "12.5", "13-5", "100-0"]

关于javascript - 如何在排序比较过程中忽略值中的 "-"和 "."字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22360440/

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