js对象的遍历

下面是两组数据格式;都是以对象的形势;现在我要将属性值提取出来;做成一个二级部门导航栏;

abc里面的做一级,asd做二级点击厂一宣示对应的部门;点击厂二时候宣示对应的部门;把原有的隐藏

var abc={"a":"一厂","b":"二厂","c":"三厂"}

var asd={

        "a":{"12":"保安部门","177":"营销","19":"财务"},
        "b":{"112":"制造","17":"加工","16":"人力"},
        "c":{"122":"前台","177":"后勤","10":"管理"}, 
       }
       
   
阅读 2.3k
2 个回答
    function getProp(obj){
        var result=[];
        function get(obj){
            for(key in obj){
                result.push(key);
                if(obj[key] instanceof Object){
                    get(obj[key]);
                }
            }
        }
        get(obj)

        return result;
    }

咦,我似乎返回的是属性名,?,不过道理是一样的~

传统的可以用for in遍历

  function objToArray (obj){
        var array =[];
        for( var i in obj ) {
            if (obj.hasOwnProperty(i)){
               array.push(obj[i]);
            }
        }
        return array;
    }
    

es2015可以这样写:

var array = Object.keys(asd).map(function (key) { return asd[key]; });
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题