Javascript将2个对象数组与where条件进行比较

use*_*230 0 javascript

我正在尝试比较两个对象数组,例如

list1 = [{id:1,name:'amy'},{id:3,name:'zoe'}];  
list2 = [{id:1,name:'sally'},{id:3,name:'zoe'}];    

select *
from list1 a, list2 b
where a.id = b.id
and a.name = b.name

Result: id:3, name:'zoe'
Run Code Online (Sandbox Code Playgroud)

我怎样才能用 Javascript 写这个?

Raj*_*esh 5

您需要遍历两个数组并匹配值。

list1 = [{id:1,name:'amy'},{id:3,name:'zoe'}];  
list2 = [{id:1,name:'sally'},{id:3,name:'zoe'}];
var r = [];

list1.forEach(function(a){
  return list2.forEach(function(b){
    if(a.id === b.id && a.name === b.name)
      r.push(b)
  })
});
console.log(r)
Run Code Online (Sandbox Code Playgroud)