假设我们有两个对象数组:arr1 和 arr2。
arr1 = [ { id: 1, name: "John", age: 20, address: "New York" }, { id: 2, name: "Mary", age: 25, address: "Boston" }, { id: 3, name: "Peter", age: 30, address: "Chicago" } ]
arr2 = [ { id: 1, name: "John", age: 20, address: "New York" }, { id: 2, name: "Mary", age: 24, address: "Boston" }, { id: 3, name: "Peter", age: 30, address: "Chicago" } ]
现在我们需要比较 arr1 和 arr2 中的值,并返回 arr2 中与 arr1 不同的对象。
我们可以使用循环来比较两个数组中的对象,并返回新的对象数组。
//比较两个数组中的对象 for (let i = 0; i < arr1.length; i++) { for (let j = 0; j < arr2.length; j++) { //如果两个对象的 id 相同,则比较其他值 if (arr1[i].id === arr2[j].id) { //如果其他值不同,则将 arr2 的对象添加到新数组中 if (arr1[i].name !== arr2[j].name || arr1[i].age !== arr2[j].age || arr1[i].address !== arr2[j].address) { newArr.push(arr2[j]); } } } }
现在,newArr 中包含 arr2 中与 arr1 不同的对象。