js拼接二维数组

来源:互联网 发布:知乎日本海外球员名单 编辑:程序博客网 时间:2024/05/19 06:49

原数组样式:

{
  "msg": "ok",
  "status": "1",
  "data": [
  {
    "id": 1,
    "provinceid": "110000",
    "province": "北京市",
    "cityinfo": [
      {
        "id": 1,
        "cityid": "110100",
        "city": "市辖区",
        "provinceid": "110000"
      },
            {
        "id": 2,
        "cityid": "110200",
        "city": "县",
        "provinceid": "110000"
      },
      ....
    ]
  },
  {
    "id": 2,
    "provinceid": "120000",
    "province": "天津市",
    "cityinfo": [
      {
        "id": 3,
        "cityid": "120100",
        "city": "市辖区",
        "provinceid": "120000"
      },
            {
        "id": 4,
        "cityid": "120200",
        "city": "县",
        "provinceid": "120000"
      },
      ......
    ]
  },
  {
    "id": 3,
    "provinceid": "130000",
    "province": "河北省",
    "cityinfo": [
      {
        "id": 5,
        "cityid": "130100",
        "city": "石家庄市",
        "provinceid": "130000"
      },
            {
             "id": 6,
             "cityid": "130200",
             "city": "唐山市",
             "provinceid": "130000"
         },
      .....
    ]
  },
....
    ]
}
要拼接的数组样式:

// 使用以下示例,请先删除注释
[ //JSON 数组类型;第一级选择项数组
    {
        "name": "北京市", //字符串类型;第一级选择项的名称
        "sub": [ //JSON 数组类型;第二级选择项数组
            {
                "name": "东城区" //字符串类型;第二级选择项的名称
            }, {
                "name": "西城区" //字符串类型;第二级选择项的名称
            }
        ]
    }, {
        "name": "河南省", //字符串类型;第一级选择项的名称
        "sub": [ //JSON 数组类型;第二级选择项数组
            {
                "name": "郑州市", //字符串类型;第二级选择项的名称
                "sub": [ //JSON 数组类型;第三级选择项数组
                    {
                        "name": "中原区" //字符串类型;第三级选择项的名称
                    }, {
                        "name": "金水区" //字符串类型;第三级选择项的名称
                    }
                ]
            }, {
                "name": "驻马店市", //字符串类型;第二级选择项的名称
                "sub": [ //JSON 数组类型;第三级选择项数组
                    {
                        "name": "西平县" //字符串类型;第三级选择项的名称
                    }, {
                        "name": "泌阳县" //字符串类型;第三级选择项的名称
                    }
                ]
            }
        ]
    }
]


代码:

var data = ret.data;
var area = [];
for(var i in data){
var province = {};
province.sub = [];
province.name = data[i].province;
province.id = data[i].provinceid;


var citydata = data[i].cityinfo;
for(var x in citydata){
var city = {};
city.id = citydata[x].cityid;
city.name = citydata[x].city;
province.sub.push(city);
}
area.push(province);


}
console.log(JSON.stringify(area));
setData('datarea',data);

原创粉丝点击