关于前端:取数组属性值相同数据-按照属性值分类组成新数组

数组数据

data = [
    {name: "Z", detail: "zzz"},
    {name: "W", detail: "wwww1"},
    {name: "W", detail: "www2"},
    {name: "W", detail: "www3"},
    {name: "F", detail: "ff1"},
    {name: "F", detail: "ff2"},
    {name: "L", detail: "ll2"},
    {name: "L", detail: "ll2"}
  ]

办法转换

let listArr = [];
data.forEach(function (val, index) {
  for (var i = 0; i < listArr.length; i++) {
      // 比照雷同的字段key,雷同放入对应的数组
      if (listArr[i].name == val.name) {
          listArr[i].features.push({
              name: val.name,
              detail: val.detail
           });
           return;
      }
  }
  // 第一次比照没有参照,放入参照
  listArr.push({
      name: val.name,
      detail: val.detail
  });
});

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理