如何比较两个对象

时间:2015-01-22 18:56:14

标签: javascript jquery object

我有一个场景,我有两个不同的对象。

实现的场景:

我需要从两个对象中匹配具有“A1”,“B2”等的值......

由于两个对象值的顺序都不正确,因此循环中断并丢失了一些值。

在我的演示中,object1具有相同的重复值,即“C3”,它应该只显示一次。

需要的最终输出是我只需检测两个对象的匹配值并显示其对应的“a”和“b值”。

我已经尝试了差不多90%,但是某个小错误正在打破我的循环,请帮助我。

示例代码:

for(var i=0;i<obj1.results[0].loc.length;i++){
    var findA = obj1.results[0].loc[i].anc[0].title;
    for(var j=0;j< obj2.ILoc.length;j++){
        var findB = obj2.ILoc[j].ais;
        if(findA == findB) {
            var a = obj1.results[0].loc[i].a;
            var b = obj1.results[0].loc[i].b;
            console.log(a);
            console.log(b);
        }       
    }
}

这是我尝试过的: Demo Link

2 个答案:

答案 0 :(得分:1)

我建议使用for...in循环,因为你使用的是对象而不是数组。

for (variable in object) {...
}

如果两个对象的长度属性相等,那么这种循环将帮助您轻松比较对象。

答案 1 :(得分:0)

我建议使用the diff module。您可以在node.js和浏览器中使用它。