gpt4 book ai didi

javascript - 在 Jquery 中使用数组中的 id 过滤对象列表

转载 作者:行者123 更新时间:2023-12-02 21:24:32 25 4
gpt4 key购买 nike

我有一个对象列表,每个对象都有一个特定的代码。还有另一个包含这些特定代码的数组,我想检索与数组中的代码匹配的所有对象。我尝试使用 grep 函数和 indexOf 方法,但没有收到任何结果。有人可以帮我解决这个问题吗?

    var selectedCodes = [2, 12, 15];

var objArray = [
{
"ItemID": "1",
"ItemName": "Name1",
"ItemCode": "1",
},
{
"ItemID": "2",
"ItemName": "Name2",
"ItemCode": "2",
},
{
"ItemID": "3",
"ItemName": "Name3",
"ItemCode": "10",
},
{
"ItemID": "4",
"ItemName": "Name4",
"ItemCode": "12",
},
{
"ItemID": "5",
"ItemName": "Name5",
"ItemCode": "15",
},
{
"ItemID": "6",
"ItemName": "Name6",
"ItemCode": "20",
}
];

根据上面的对象列表和数组,我需要将Name2、Name4、Name5对象仅获取到不同的列表中。您可以在下面找到我为此使用的代码。但我没那么幸运

var selectedObjects = $.grep(objArray, function (e) {
return selectedCodes.indexOf(e.ItemCode) > -1;
});

最佳答案

给你一个解决方案

var selectedCodes = [2, 12, 15];

var objArray = [
{
"ItemID": "1",
"ItemName": "Name1",
"ItemCode": "1",
},
{
"ItemID": "2",
"ItemName": "Name2",
"ItemCode": "2",
},
{
"ItemID": "3",
"ItemName": "Name3",
"ItemCode": "10",
},
{
"ItemID": "4",
"ItemName": "Name4",
"ItemCode": "12",
},
{
"ItemID": "5",
"ItemName": "Name5",
"ItemCode": "15",
},
{
"ItemID": "6",
"ItemName": "Name6",
"ItemCode": "20",
}
];

var filteredData = objArray.filter(function(item) {
return (
selectedCodes.indexOf(parseInt(item.ItemCode)) > -1
);
});

console.log(filteredData);

使用filter过滤掉匹配的记录。

引用:Filter Documentation

关于javascript - 在 Jquery 中使用数组中的 id 过滤对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60769182/

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