在JavaScript中,可以使用以下方法来比较两个对象数组并返回一个结果数组:
function compareArrays(arr1, arr2) {
var result = [];
for (var i = 0; i < arr1.length; i++) {
var obj1 = arr1[i];
for (var j = 0; j < arr2.length; j++) {
var obj2 = arr2[j];
if (isEqual(obj1, obj2)) {
result.push(obj1);
break;
}
}
}
return result;
}
function isEqual(obj1, obj2) {
// 自定义比较两个对象是否相等的逻辑
// 例如,比较对象的某个属性是否相等
return obj1.id === obj2.id;
}
var array1 = [{ id: 1, name: 'John' }, { id: 2, name: 'Jane' }];
var array2 = [{ id: 2, name: 'Jane' }, { id: 3, name: 'Bob' }];
var resultArray = compareArrays(array1, array2);
console.log(resultArray);
filter()
方法结合箭头函数来筛选出符合条件的对象。function compareArrays(arr1, arr2) {
return arr1.filter(obj1 => arr2.some(obj2 => isEqual(obj1, obj2)));
}
function isEqual(obj1, obj2) {
// 自定义比较两个对象是否相等的逻辑
// 例如,比较对象的某个属性是否相等
return obj1.id === obj2.id;
}
var array1 = [{ id: 1, name: 'John' }, { id: 2, name: 'Jane' }];
var array2 = [{ id: 2, name: 'Jane' }, { id: 3, name: 'Bob' }];
var resultArray = compareArrays(array1, array2);
console.log(resultArray);
以上两种方法都可以比较对象数组并返回一个结果数组,具体使用哪种方法取决于你的需求和个人偏好。
领取专属 10元无门槛券
手把手带您无忧上云