如何枚举另一个对象内的对象?

时间:2013-12-07 00:33:33

标签: javascript enumeration

我正在尝试枚举z,显示其属性z1,z2,z3。

function foo()
{
  var o = {x:1,y:2,z:{z1:3,z2:4,z3:5}};
  for(prop in o)
  {

  }    
}    

2 个答案:

答案 0 :(得分:2)

var o = {x:1,y:2,z:{z1:3,z2:4,z3:5}};
iterate(o);   

function iterate(o) {
    var key, item;
    for (key in o) {
        if (o.hasOwnProperty(key)) {
            item = o[key];
            if (typeof item === 'object') {
                iterate(item);
            } else {
                console.log(key, item);
            }
        }
    }
}

答案 1 :(得分:1)

像这样:

function foo(){
  var o = {x:1,y:2,z:{z1:3,z2:4,z3:5}};
  var z = o.z;
  for(var i in z){
    // i is property
    // z[i] is value
  }    
}