我担心如何用另一个对象数组过滤对象数组并获取第一个对象数组中没有的项目
例如:
let firstData = [
{
name: 'A',
title: 'A'
},
{
name: 'B',
title: 'B'
},
{
name: 'C',
title: 'C'
}
]
let secondData = [
{
name: 'B',
title: 'B'
}
]
在这种情况下,我想获取每个对象数组中没有的项目名称:A 和名称:C
例如如何将它们与名称属性进行比较?
最佳答案
尝试更通用的:没有 secondData 的 firstData(左)加上没有 firstData 的 secondData(右)
let left = firstData.filter(x=> !secondData.find(y=> x.name==y.name));
let right = secondData.filter(x=> !firstData.find(y=> x.name==y.name));
let result = left.concat(right);
let firstData = [
{
name: 'A',
title: 'A'
},
{
name: 'B',
title: 'B'
},
{
name: 'C',
title: 'C'
}
]
let secondData = [
{
name: 'B',
title: 'B'
},
{
name: 'D',
title: 'D'
}
]
let left = firstData.filter(x=> !secondData.find(y=> x.name==y.name));
let right = secondData.filter(x=> !firstData.find(y=> x.name==y.name));
let result = left.concat(right);
console.log(result);
关于javascript - 如何用另一个对象数组过滤对象数组并获得差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57612573/