以下是一个比较两个对象数组并获取差异的Javascript代码示例:
// 对象数组1
var arr1 = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Alice' }
];
// 对象数组2
var arr2 = [
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Alice' },
{ id: 4, name: 'David' }
];
// 获取差异的函数
function getArrayDifference(arr1, arr2) {
var difference = [];
// 检查arr1中的每个对象是否存在于arr2中
arr1.forEach(function(obj1) {
var obj2 = arr2.find(function(obj) {
return obj.id === obj1.id;
});
// 如果对象不存在于arr2中,则添加到差异数组中
if (!obj2) {
difference.push(obj1);
}
});
// 检查arr2中的每个对象是否存在于arr1中
arr2.forEach(function(obj2) {
var obj1 = arr1.find(function(obj) {
return obj.id === obj2.id;
});
// 如果对象不存在于arr1中,则添加到差异数组中
if (!obj1) {
difference.push(obj2);
}
});
return difference;
}
// 获取差异数组
var difference = getArrayDifference(arr1, arr2);
console.log(difference);
运行以上代码将输出差异数组:
[
{ id: 1, name: 'John' },
{ id: 4, name: 'David' }
]
这表示arr1中的对象 { id: 1, name: 'John' }
和arr2中的对象 { id: 4, name: 'David' }
不同。
上一篇:比较两个对象数组并合并某些字段
下一篇:比较两个对象数组并获取差异。