我有一个通过从列表中选择项目动态创建的数组:
[2, 4]
我还有一个对象数组:
[{id: 1, name: "Param1"}, {id: 2, name: "Param2"}, {id: 3, name: "Param3"}, {id: 4, name: "Param4"}]
我需要做的是使用第一个数组中的值来匹配第二个数组中对象中的id并返回这些对象。
非常感谢帮助
感谢您的时间
答案 0 :(得分:1)
您可以使用此ES6代码,将第一个数组转换为Set以允许快速查找,然后应用专门用于此目的的数组filter
方法:
var select = [2, 4];
var data = [{id: 1, name: "Param1"}, {id: 2, name: "Param2"},
{id: 3, name: "Param3"}, {id: 4, name: "Param4"}]
var selectSet = new Set(select);
var result = data.filter( obj => selectSet.has(obj.id) );
console.log(result);