我有两个对象值数组,
a1
和a2
如果CCD_ 3和CCD_,mainid
和main
是真正的
然后返回
真实
否则返回
错误
var result = a1.find(e=> a2.find(i=>i.cidvalue===e.idvalue));
var a1=[
{id:1, idvalue: “teamA“,mainid: true, name: “ben4”}
]
var a2 =[
{id:2, cidvalue: “teamA”, main: true, name: ”ben3”},
{id:3, cidvalue: undefined, main: false, name: ”ben2”},
]
预期输出
true
您的代码正按预期正确工作。
将match子句编辑为此特定语句:
i => i.cidvalue === e.idvalue && e.mainid === i.main
使用下面的Array.prototype.every检查这个工作片段并进行一些调整,以返回一个布尔值,指示是否找到匹配:
const a1 = [
{ id: 1, idvalue: "teamA", mainid: true, name: "ben4" },
]
const a2 = [
{ id: 2, cidvalue: "teamA", main: true, name: "ben3" },
{ id: 3, cuid: undefined, main: false, name: "ben2" },
]
const result = a1.every(e => a2.find(i => i.cidvalue === e.idvalue && e.mainid === i.main));
console.log(result)
这里,我有一个带有a1的列表a2,如果数据大于0,则设置为true。
var a1 = [
{ id: 1, idvalue: "teamA", mainid: true, name: "ben4" }
]
var a2 = [
{ id: 2, cidvalue: "teamA", main: true, name: "ben3" },
{ id: 3, cuid: undefined, main: false, name: "ben2" },
]
console.log(a2.filter(item => a1.find(itemm => itemm.idvalue === item.cidvalue)).length > 0);
使用Array.every
将数组a1
中的每个元素与a2
进行比较
var a1 = [
{ id: 1, idvalue: "teamA", mainid: true, name: "ben4" },
]
var a2 = [
{ id: 2, cidvalue: "teamA", main: true, name: "ben3" },
{ id: 3, cuid: undefined, main: false, name: "ben2" },
]
var result = a1.every(e => a2.find(i => i.cidvalue === e.idvalue && e.mainid && i.main));
console.log(result);