gpt4 book ai didi

javascript - 使用多个条件从数组中过滤记录,然后按 id 对结果进行排序

转载 作者:行者123 更新时间:2023-11-28 11:48:21 25 4
gpt4 key购买 nike

下面是我的数组:

var array1 =[
{
"id": 77,
"selected" : false
},
{
"id": 76,
"selected" : true
},
{
"id": 75,
"selected" : true
},
{
"id": 74,
"selected" : false
},
{
"id": 73,
"selected" : true
}
];

var obj = { "id" : 74, "selected" : true };


for (var i = 0; i < array1.length; i++) {

}

所以现在我想首先只获取那些 selected 属性为 true 的记录,然后按 id 降序对记录进行排序,然后从 74 条 selected 属性为 true 的记录中选择前一个记录。。 p>

例如: 75 是 74 中其所选属性为 true 的前一个记录。如果 75 的选定属性为 false,那么如果我们从 74 到顶部,我们应该选择 76。

预期输出:

 {
"id": 75,
"selected" : true
}

代码:

for (var i = 0; i < array1.length; i++) {

}

在这里,我不知道如何按 id = 74 过滤记录并使用 true 选择,然后按 id 降序对记录进行排序并选择上一条记录。

最佳答案

由于按降序排序时您需要紧邻 74 之前的记录,因此这里我按升序排序并为您提供紧随其后的记录。相同但更容易编码。

var array1 =[
{
"id": 77,
"selected" : false
},
{
"id": 76,
"selected" : true
},
{
"id": 75,
"selected" : true
},
{
"id": 74,
"selected" : false
},
{
"id": 73,
"selected" : true
}
];

var el = array1.sort(function (a,b) {
if (a.id < b.id) return -1;
return 1;
}).find(function (a) {
return a.selected && a.id > 74;
});

console.log(el);

关于javascript - 使用多个条件从数组中过滤记录,然后按 id 对结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42901408/

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