Javascript 排序数字和文本

Javascript sorting numbers and text

如何使用 javascript 中的 .sort() 函数对其进行排序?我知道我可以在这里添加一个比较功能,但我不确定我将如何编程。

之前

1 024c
100 000c
143c
1 020c
10 000c

之后

143c
1 020c
1 024c
10 000c
100 000c

如果您的输入是一个数组,那么您可以使用比较器函数

(a,b) => a.replace(/[^\d.]/g, "") - b.replace(/[^\d.]/g, "")

这将从字符串中删除 cspace 以形成数字并进行比较。请参阅下面的代码。

var data = ["1 024c",
"100 000c",
"143c",
"1 020c",
"10 000c"]

var sorted = data.sort( (a,b) => a.replace(/[^\d.]/g, "") - b.replace(/[^\d.]/g, ""));

console.log(sorted);

您似乎想根据其中的数字对其进行排序,同时排除空格。

x.sort(
    (eachObj, prevObj) => 
    parseInt(eachObj.replace(" ","")) - parseInt(prevObj.replace(" ","")) 
);

在 ES6 中