我们可以使用JavaScript中的循环和条件语句来比较两个对象数组,并根据需要修改原始对象数组。例如,假设我们有两个以下对象数组:
const arr1 = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'Bob' }
];
const arr2 = [
{ id: 1, name: 'Alex' },
{ id: 2, name: 'Jane' }
];
我们想要比较这两个数组,并将arr2中的元素的属性(这里是"name")更新到arr1中,我们可以这样做:
for (let i = 0; i < arr1.length; i++) {
for (let j = 0; j < arr2.length; j++) {
if (arr1[i].id === arr2[j].id) {
arr1[i].name = arr2[j].name;
}
}
}
在此示例中,我们使用两个嵌套循环遍历arr1和arr2中的所有元素。在比较每个元素的“id”属性时,如果它们相等,则将arr1的相应元素的"name"属性更新为arr2中的值。
运行该代码后,arr1将被更新为以下数组:
[
{ id: 1, name: 'Alex' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'Bob' }
]