gpt4 book ai didi

javascript - 检查javascript中两个对象数组之间的区别

转载 作者:行者123 更新时间:2023-12-01 14:56:55 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to get the difference between two arrays of objects in JavaScript

(21 个回答)


8 个月前关闭。




我需要一些帮助。如何获得这种情况下的差异数组:

var b1 = [
{ id: 0, name: 'john' },
{ id: 1, name: 'mary' },
{ id: 2, name: 'pablo' },
{ id: 3, name: 'escobar' }
];

var b2 = [
{ id: 0, name: 'john' },
{ id: 1, name: 'mary' }
];

我想要不同的数组:
// [{ id: 2, name: 'pablo' }, { id: 3, name: 'escobar' }]

最优化的方法是怎样的?

我正在尝试过滤一个简化的数组..这条线上的东西:
var Bfiltered = b1.filter(function (x) {
return x.name !== b2.reduce(function (acc, document, index) {
return (document.name === x.name) ? document.name : false
},0)

});
console.log("Bfiltered", Bfiltered);
// returns { id: 0, name: 'john' }, { id: 2, name: 'pablo' }, { id: 3, name: 'escobar' } ]

谢谢,

机器人

最佳答案

.Filter().some()功能会做的伎俩

var b1 = [
{ id: 0, name: 'john' },
{ id: 1, name: 'mary' },
{ id: 2, name: 'pablo' },
{ id: 3, name: 'escobar' }
];

var b2 = [
{ id: 0, name: 'john' },
{ id: 1, name: 'mary' }
];

var res = b1.filter(item1 =>
!b2.some(item2 => (item2.id === item1.id && item2.name === item1.name)))

console.log(res);

关于javascript - 检查javascript中两个对象数组之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50648091/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com