给定这两个对象
var obj1 = [{ number: 23, team: 'Bulls', lastname: 'Jordan'}];
var obj2 = [{ number: 23, team: 'Bulls', lastname: 'Jordan'}, {number: 23, team: 'Cavaliers', lastname: 'James'}];
在这种情况下,我如何遍历两者以返回差异
{number: 23, team: 'Cavaliers', lastname: 'James'}
我设置了一些效果
var difference = {};
if (obj2.length > obj1.length) {
for (var i = 0; i < obj2.length; i++) {
for (var j in obj2[i]) {
for (var k in obj1[i]) {
if (!(obj2[i][j] === obj1[i][k])) {
difference.push(obj2[i][j]);
}
}
}
}
}
我明白为什么这是错误的,我似乎无法弄清楚如何同时循环遍历第一个和第二个对象的键来比较它们以修复它。
最佳答案
如果 obj2
与 obj1
相同但推送了额外的项目,则更改集很简单:
obj2.slice(obj1.length);
关于javascript - 如何找到两组对象的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31749756/