2个对象/数组之间的差异

时间:2011-06-21 14:51:07

标签: javascript jquery

我有2个对象,它们是JSON中PHP的关联数组。它们的结构类似于:

[object]
    ["green"]
         ['value1']=integer
         ['value1']=array...
    ["blue"]
         ['value1']=integer
         ['value1']=array...
    [...]

使用JSON定期从Web服务器加载此对象的第一个版本。 通过从webserver接收这个新的JSON字符串,当前对象移动到变量“oldObj”,而新数据存储到变量“newObj”中。 新对象可能比旧对象具有更少的元素,如下所示:

[newObj]
    ["green"]
         ['value1']=integer
         ['value1']=array...

如您所见:“蓝色”缺失。

现在我需要这些属于旧对象的元素/意味着:在新对象中缺少这些元素(在这个例子中:元素“蓝色”)

我尝试了以下内容,但没有取得任何成功:

[...]
    var newObj=data;
    $.each (oldObj,function(i,n)
            {if (newObj.i.length<1) {alert('missing: '+i);}
            }
         );//end foreach

错误消息:“newObj.i未定义”

1 个答案:

答案 0 :(得分:1)

根据你的描述,我认为newObj或oldObj可以写成:

var newObj = {
    "green": [
        integer,
        [array]
    ],
    "blue": [
        integer,
        [array]
    ]
};    

是不是?

您可以使用:

for(p in Obj){
    if(Obj.hasOwnProperty(p)){
        // do something with p
    }
}  

遍历Obj的属性。

相关问题