在js中,比较两个数组对象并将它们的相同元素和不同元素分别提取出来
时间: 2024-02-26 21:59:06 浏览: 111
JS深度揭秘第三章-数组与对象深入
你可以使用循环和条件语句来比较两个数组对象,并将它们的相同元素和不同元素分别提取出来。以下是一个简单的示例代码:
```javascript
var arr1 = [{id: 1, name: 'John'}, {id: 2, name: 'Mary'}, {id: 3, name: 'Bob'}];
var arr2 = [{id: 1, name: 'John'}, {id: 4, name: 'Tom'}, {id: 5, name: 'Alice'}];
var sameElements = [];
var differentElements = [];
for (var i = 0; i < arr1.length; i++) {
var found = false;
for (var j = 0; j < arr2.length; j++) {
if (arr1[i].id === arr2[j].id) {
found = true;
sameElements.push(arr1[i]);
break;
}
}
if (!found) {
differentElements.push(arr1[i]);
}
}
for (var i = 0; i < arr2.length; i++) {
var found = false;
for (var j = 0; j < arr1.length; j++) {
if (arr2[i].id === arr1[j].id) {
found = true;
break;
}
}
if (!found) {
differentElements.push(arr2[i]);
}
}
console.log(sameElements); // [{id: 1, name: 'John'}]
console.log(differentElements); // [{id: 2, name: 'Mary'}, {id: 3, name: 'Bob'}, {id: 4, name: 'Tom'}, {id: 5, name: 'Alice'}]
```
在这个示例中,我们首先定义了两个数组 `arr1` 和 `arr2`,它们分别包含了一些对象。然后我们创建了两个新的空数组 `sameElements` 和 `differentElements`,用于存储相同元素和不同元素。
接下来我们使用两个嵌套的循环来遍历这两个数组,并使用条件语句来比较它们的元素。如果一个元素在另一个数组中也存在,则将它添加到 `sameElements` 中。如果一个元素在另一个数组中不存在,则将它添加到 `differentElements` 中。
最后我们打印出了 `sameElements` 和 `differentElements` 数组,以检查我们的代码是否正确。
阅读全文