js需要从这个变量中取出数据生成二级联动的select下拉列表,
var menuList = {
'场所': [
'区域管理',

'片管理',
'上网场所信息',
'上网场所违规管理',
'消息管理',
'上网场所处罚'

],
'信息' : [
'信息设置',
'信息审批',
'信息结项',
             'CDSCIC',
'信息统计',
'报警管理'
]};
请问下,有没有什么方法可以把这个变量变成数组,不能改变这个变量的东西,就是直接去取出来

解决方案 »

  1.   


    var menuArray = [];
      for(var i in menuList){
        menuArray.push(i);
        menuArray[i] = [];
        for(var n in menuList[i]){
          menuArray[i].push(menuList[i][n]);
        }
      }结果如下:
    menuArray=['场所','信息'];
    menuArray['场所']=[
    '区域管理','片管理',
    '上网场所信息',
    '上网场所违规管理',
    '消息管理',
    '上网场所处罚']
    menuArray['信息']=[
    '信息设置',
    '信息审批',
    '信息结项',
      'CDSCIC',
    '信息统计',
    '报警管理'
    ]
      

  2.   

    var menuArray = [];
    var childmenu=[];
      for(var i in menuList){
        menuArray.push(i);
        childmenu.push(menuList[i]);
      }for(i=0;i<menuArray.length;i++)
    {
        alert(menuArray[i]+":\n总长度:"+childmenu[i].length)
        alert(menuArray[i]+";\n其下所有子菜单:"+childmenu[i])
        alert(menuArray[i]+";\n其下子菜单第1项为:"+childmenu[i][0])
    }个人比较喜欢这种调用方式,否则menuArray[menuArray[0]]这样去调用,总感觉好拐扭呢