本帖最后由 gaowenzhen 于 2014-09-24 18:35:20 编辑

解决方案 »

  1.   

    var dx={"a":[{"t":"at0"},{"r":"ar0"}],"b":{"s":"bs0","x":"bx0"}};
    var arr=[];
    function xx(obj,x){
      if(obj.constructor==Array){
        for(var i=0;i<obj.length;i++){
          xx(obj[i],x);
        }
      }else if(obj.constructor==Object){
        for(var i in obj){
          console.log((x?x+'.':'')+i);
          xx(obj[i],i);
        }
      }
    }
    xx(dx)
      

  2.   

    var obj={
    'a':'10',
    'b':{
    'a':'x',
    'b':{
    'a':'c'
    }
    },
    'c':[{
    'a':'x'
    },{
    'b':'x',
    'c':{
    'a':'d'
    }
    }]
    }
    var arr=[];
    function xx(obj,parentName,arr){
    if(obj.constructor==Object){
    for(var i in obj){
    var t=parentName?(parentName+'.'+i):i;
    arr.push(t);
    xx(obj[i],t,arr);
    }
    }else if(obj.constructor==Array){
    for(var i=0,len=obj.length;i<len;i++){
    xx(obj[i],parentName,arr);
    }
    }
    }
    xx(obj,null,arr);
    console.log(arr);