gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 15:33:44 27 4
gpt4 key购买 nike

我有一个 Javascript 数组中的元素列表,如下所示:

myArray = ["Datastore one - free space 34.23GB", "Datastore two - free space 56.23GB",...]

等等。我想在可用空间上对数组进行排序,因此在上面的示例中,数据存储二将是数组中的第一个元素。数组总是用“- free space xx.xxGB”构造,但在某些情况下可用空间可能是 5 位数字,例如 xxx.xxGB。

谁能帮忙提供一种对数组进行排序的方法吗?我发现我可以使用类似的东西

"*- free space\s[1-9][0-9]*GB"

那么这会是这样吗

myArray.sort("*- free space\s[1-9][0-9]*GB") ?

这是正确的还是我该怎么做?非常感谢。

最佳答案

在自定义排序函数中拉出数字部分,然后减去:

myArray = ["Datastore one - free space 34.23GB", "Datastore two - free space 56.23GB", "Datastore three - free space 6.23GB" ];

var re = /([0-9\.]+)GB/; // regex to retrieve the GB values

myArray = myArray.sort(
function(a, b) {
var ma = a.match(re); // grab GB value from each string
var mb = b.match(re); // the result is an array, with the number at pos [1]

return (ma[1] - mb[1]);
}
);

alert(myArray.join("\r\n"));

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

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