js两个相似对象对比输出不同的键值对
时间: 2023-07-01 10:12:34 浏览: 101
要比较两个相似的对象并输出它们不同的键值对,可以先遍历其中一个对象,然后在另一个对象中查找相应的键值对是否存在。如果存在并且值相等,则跳过;如果不存在或值不等,则输出该键值对。
下面是一个示例代码:
```javascript
const obj1 = { a: 1, b: 2, c: 3 };
const obj2 = { a: 1, b: 4, d: 5 };
for (let key in obj1) {
if (obj1.hasOwnProperty(key)) {
if (obj2.hasOwnProperty(key)) {
if (obj1[key] !== obj2[key]) {
console.log(`Key "${key}" has different values: ${obj1[key]} and ${obj2[key]}`);
}
} else {
console.log(`Key "${key}" is missing in the second object`);
}
}
}
for (let key in obj2) {
if (obj2.hasOwnProperty(key) && !obj1.hasOwnProperty(key)) {
console.log(`Key "${key}" is missing in the first object`);
}
}
```
在这个示例中,我们先遍历了 obj1 对象的所有键,并在 obj2 对象中查找相应的键值对。如果 obj2 中不存在该键,则输出该键在 obj2 中缺失;如果 obj2 中存在该键,则比较值是否相等,如果不等则输出差异信息。
最后,我们再遍历 obj2 对象的所有键,并检查哪些键在 obj1 中缺失。输出的信息中会包含缺失的键和不同的键值对。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)