gpt4 book ai didi

JavaScript 检查属性数组是否按升序排序

转载 作者:行者123 更新时间:2023-11-30 08:19:42 24 4
gpt4 key购买 nike

您好,我需要一种更好的方法来检查属性数组是否按升序排序。我用下面的数组可以具有动态长度属性。

数组必须使用 DrawCD 属性进行排序我想在不使用 for 循环的情况下以更好的方式做到这一点,如果可能的话,使用 Array 原型(prototype)函数

pevDrawInfo = [{
"drawCD": 16281,
"drawTime": "14:55:00",
"winCol": 2,
"oddEven": 0
},
{
"drawCD": 16280,
"drawTime": "14:50:00",
"winCol": 2,
"oddEven": 0
},
{
"drawCD": 16279,
"drawTime": "14:45:00",
"winCol": 2,
"oddEven": 0
},
{
"drawCD": 16278,
"drawTime": "14:40:00",
"winCol": 2,
"oddEven": 0
}
];



for (i = 0; i < 2; i++) {
if (pevDrawInfo[i].drawCD - pevDrawInfo[i + 1].drawCD > 0)
sorted = false
else
sorted = true
}


console.log(sorted)

最佳答案

您可以使用 Array#every 查看并带走属性(property)进行检查。

var pevDrawInfo = [{ drawCD: 16281, drawTime: "14:55:00", winCol: 2, oddEven: 0 }, { drawCD: 16280, drawTime: "14:50:00", winCol: 2, oddEven: 0 }, { drawCD: 16279, drawTime: "14:45:00", winCol: 2, oddEven: 0 }, { drawCD: 16278, drawTime: "14:40:00", winCol: 2, oddEven: 0 }];

console.log(pevDrawInfo.every((b, i, { [i - 1]: a }) => !a || a.drawCD < b.drawCD));

pevDrawInfo.sort(({ drawCD: a }, { drawCD: b }) => a - b);

console.log(pevDrawInfo.every((b, i, { [i - 1]: a }) => !a || a.drawCD < b.drawCD));

关于JavaScript 检查属性数组是否按升序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55727823/

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