Javascript 用 where 条件比较 2 个对象数组

标签 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'

如何用 JavaScript 编写此代码?

最佳答案

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

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)

关于Javascript 用 where 条件比较 2 个对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41218530/

相关文章:

javascript - 从静态站点中托管的 javascript 运行 git push

javascript - 可以拥有一个仅由提交按钮组成的表单吗?

javascript - 从react native init 一步步React native web

javascript - 访问对象并将其设置为 null throw 数组元素

javascript - 类型错误 : Cannot read property 'nativeElement' of undefined Angular 8

javascript - 带有 OpenLayers 的 InfoWindows

javascript - 页面加载时,jQuery触发点击事件

javascript - 如何在不影响父元素的情况下为子元素设置不同的 onClick 事件?

javascript - Nodejs异步执行

javascript - ReactJS:按字母顺序对选项进行排序