【问题标题】:difference between 2 objects/arrays2个对象/数组之间的区别
【发布时间】:2011-06-21 14:51:07
【问题描述】:

我有 2 个对象,它们是 JSON 中 PHP 的关联数组。他们有这样的结构':

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

此对象的第一个版本是使用 JSON 定期从网络服务器加载的。 通过从网络服务器接收这个新的 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 未定义”

【问题讨论】:

标签: javascript jquery


【解决方案1】:

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

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

对吗?

你可以使用:

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

循环遍历 Obj 的属性。

【讨论】:

  • 不应该是 for(p in oldObj){ if(newObj.hasOwnPropery(p)){ // 对 p 做点什么 } ....? }
  • @Bndr 当然可以,我只是建议循环对象属性的一般方法。
猜你喜欢
  • 2019-11-01
  • 2019-01-23
  • 1970-01-01
  • 2015-06-24
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 2012-01-12
  • 1970-01-01
相关资源
最近更新 更多