请问大家,这两组数组对象如何根据某个属性值是否相等做判断

请问大家,这两组数组对象如何根据某个属性值是否相等做判断

let a = [

{

"parentId": "1",

"categoryName": "张三",

},

{

"parentId": "2",

"categoryName": "李四",

},

]

let b = [

{

"parentId": "2",

"categoryName": "王五",

},

]

根据parentId这个属性值 比较 a 和 b 两个数组对象 返回 ture和false 比如b数组里面的parentId为2 那么a和b相比,结果就返回true 我是想这样写的,但是两个对象不知道怎么写

const aa = this.list.some((val, index) => {

return val.parentId .......

})

console.log(aa);


回答:

如果 b 中只有一个数据,直接用 some 就出来了,类似题主写的那样

const aa = a.some(it => it.parentId === b[0].parentId);

这里直接取的 b 的第 1 个元素,即 b[0]

如果要判断 b 中所有元素都在 a 中有出现,对 b 加个 every() 判断

const aa = b.every(bIt => a.some(aIt => aIt.parentId === bIt.parentId));

以上是 请问大家,这两组数组对象如何根据某个属性值是否相等做判断 的全部内容, 来源链接: utcz.com/p/936443.html

回到顶部