gpt4 book ai didi

javascript - 根据属性的第一位对数组进行排序

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

我正在尝试根据标题中遇到的第一个数字对数组进行排序。

我的尝试是将非数字字符替换为 '' (title.replace(/\D/g, '')。它返回数字,但我不确定如何从这一点开始对数组进行排序.

因此,首先是 test0,然后是 test1、test2 和 test3。

model = [
{
"title": "test3"
},
{
"title": "test1"
},
{
"title": "test2"
},
{
"title": "test0"
}
];

最佳答案

您可以在 Javascript 的 sort 函数中使用正则表达式,如下所示。

var model = [
{
"title": "test3"
},
{
"title": "test1"
},
{
"title": "test2"
},
{
"title": "test0"
}
];

更新:

正如 Danilo Valente 在评论中所述,如果您的整数以 0 开头,您需要从字符串中提取第一个 0。自 02 => 0

model.sort(function (a, b) {
//Strips out alpha characters
a = a.title.replace(/\D/g, '');
b = b.title.replace(/\D/g, '');

//sets value of a/b to the first zero, if value beings with zero.
//otherwise, use the whole integer.
a = a[0] == '0' ? +a[0] : +a;
b = b[0] == '0' ? +b[0] : +b;

return a - b;
});

关于javascript - 根据属性的第一位对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27696272/

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