获取两个对象数组中的不同值
时间: 2023-08-09 21:12:20 浏览: 47
您可以使用循环遍历两个数组,并将其中一个数组中的每个元素与另一个数组中的元素进行比较,找到不同的值并将其存储在一个新的数组中。以下是一个JavaScript示例代码:
```javascript
function diffArray(arr1, arr2) {
var newArr = [];
for (var i = 0; i < arr1.length; i++) {
if (arr2.indexOf(arr1[i]) === -1) {
newArr.push(arr1[i]);
}
}
for (var j = 0; j < arr2.length; j++) {
if (arr1.indexOf(arr2[j]) === -1) {
newArr.push(arr2[j]);
}
}
return newArr;
}
// 示例用法
diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]);
```
上述代码将返回一个包含不同值的新数组 `[4]`。
相关问题
获取两个数组对象中的不同对象
你可以使用以下方法获取两个数组对象中的不同对象:
1. 遍历第一个数组,将每个对象与第二个数组中的对象进行比较。如果在第二个数组中找不到相同的对象,则将该对象添加到一个新的数组中。
2. 同样地,遍历第二个数组,将每个对象与第一个数组中的对象进行比较。如果在第一个数组中找不到相同的对象,则将该对象添加到之前创建的新数组中。
下面是一个示例代码,演示如何实现这一功能:
```javascript
function getDifferentObjects(array1, array2) {
var differentObjects = [];
// 遍历第一个数组
for (var i = 0; i < array1.length; i++) {
var found = false;
// 将当前对象与第二个数组中的对象进行比较
for (var j = 0; j < array2.length; j++) {
if (isEqual(array1[i], array2[j])) {
found = true;
break;
}
}
// 如果在第二个数组中找不到相同的对象,则将其添加到新数组中
if (!found) {
differentObjects.push(array1[i]);
}
}
// 遍历第二个数组
for (var k = 0; k < array2.length; k++) {
var found = false;
// 将当前对象与第一个数组中的对象进行比较
for (var l = 0; l < array1.length; l++) {
if (isEqual(array2[k], array1[l])) {
found = true;
break;
}
}
// 如果在第一个数组中找不到相同的对象,则将其添加到新数组中
if (!found) {
differentObjects.push(array2[k]);
}
}
return differentObjects;
}
// 判断两个对象是否相等的辅助函数
function isEqual(obj1, obj2) {
return JSON.stringify(obj1) === JSON.stringify(obj2);
}
// 示例用法
var array1 = [{ id: 1, name: 'John' }, { id: 2, name: 'Jane' }, { id: 3, name: 'Mike' }];
var array2 = [{ id: 2, name: 'Jane' }, { id: 3, name: 'Mike' }, { id: 4, name: 'Sarah' }];
var differentObjects = getDifferentObjects(array1, array2);
console.log(differentObjects);
```
上述代码将输出不同对象的数组:
```
[{ id: 1, name: 'John' }, { id: 4, name: 'Sarah' }]
```
希望这能帮到你!如果有任何问题,请随时提问。
获取数组对象的某两个属性值
您可以使用循环遍历数组对象,然后获取每个对象的属性值。假设数组对象名为`arr`,属性名为`prop1`和`prop2`,您可以按以下方式获取每个对象的属性值:
```python
prop1_values = []
prop2_values = []
for obj in arr:
prop1_values.append(obj.prop1)
prop2_values.append(obj.prop2)
```
这样,`prop1_values`和`prop2_values`分别包含了数组对象中每个对象的`prop1`和`prop2`的值。您可以根据需要进一步处理这些值。