将字符串数组与对象数组进行比较

时间:2020-01-28 09:41:43

标签: javascript

我想比较两个数组

array1=["123',"456"];
array2=[{id":"001",name:"prashant"},{id:"123",name:"jhh"},{id:"123444",name"baak"},{id:"456",name"sxs"}];

我的目标是从array2中提取其ID与array1中的值匹配的对象。

有人可以为我提供最佳解决方案吗?

1 个答案:

答案 0 :(得分:2)

首先,您的第二个数组( array2 )在语法上无效。

您可以尝试使用Array.prototype.filter()Array.prototype.includes()

var array1=["123","456"]; 
var array2 = [{id:"001",name:"prashant"},{id:"123",name:"jhh"},{id:"123444",name:"baak"},{id:"456",name:"sxs"}];

var res = array2.filter(i => array1.includes(i.id));
console.log(res);