js数组分类,一维数组转二维数组

原始数组

var arrayFirst=[
      {code:1,datas:'a网吧'},
      {code:1,datas:'b网吧'},
      {code:2,datas:'a酒店'},
      {code:2,datas:'b酒店'},
      {code:3,datas:'a学校'},
      {code:3,datas:'b学校'},
      {code:3,datas:'c学校'}
    ]

转换后的二维数组

[
  [{"code":1,"datas":"a网吧"},{"code":1,"datas":"b网吧"}],
  [{"code":2,"datas":"a酒店"},{"code":2,"datas":"b酒店"}],
  [{"code":3,"datas":"a学校"},{"code":3,"datas":"b学校"},{"code":3,"datas":"c学校"}]
]

代码

var arrayFirst=[
      {code:1,datas:'a网吧'},
      {code:1,datas:'b网吧'},
      {code:2,datas:'a酒店'},
      {code:2,datas:'b酒店'},
      {code:3,datas:'a学校'},
      {code:3,datas:'b学校'},
      {code:3,datas:'c学校'}
    ]
    var nameContainer = {}; // 针对键code进行归类的容器
    arrayFirst.map(item => {
      nameContainer[item.code] = nameContainer[item.code] || [];
      nameContainer[item.code].push(item);
    });

    let arrWrap = [];
    Object.keys(nameContainer).map(key=>{
      arrWrap.push(nameContainer[key])
    })
发布了22 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_39024012/article/details/90756126
今日推荐