js 对象数组根据某项分组

2019-03-06  本文已影响0人  Sasoli
let arr = 一个数组对象;
var map = {};

arr.forEach(i => {
  // 根据每一项的id进行判断,如果id相同,则应在一个新数组里
  //如果之前没有以此id为分组的数组
  if (!map[i.id]) {
    // 那么创建这个组
    map[i.id] = {
      id: i.id,
      list: [i], //list里存放完整的数据
    };
  } else {
    // 如果已经有这个数组 插入数据
    map[i.id].list.push(i);
  }
});

//再定义一个空数组进行过滤
let list = [];
for (var i in map) {
  list.push(map[i]);
}
上一篇下一篇

猜你喜欢

热点阅读