小程序对现有数据进行分组

时间:2020-09-14 19:22:10   收藏:0   阅读:31
    var datalist = [{
      "name": 张三,
      "type": 1
    }, {
      "name": 张五,
      "type": 1
    }, {
      "name": 张六,
      "type": 2
    }, {
      "name": 张七,
      "type": 5
    }, {
      "name": 张八,
      "type": 0
    }]
  
   var resList =this.groupByList(datalist);
    //如果中间有相差的,则强制建数据
    console.log(resList);
    console.log(resList[0]);
    console.log(resList[3]);
    

调用的函数

  //根据某个数字类型的字段对数组分组
  groupByList(datalist){
    let resList = [];//分组结果
    for (var i = 0; i < datalist.length; i++) {
      var thisindex = parseInt(datalist[i].type);//分组的索引 
      if (resList[thisindex] != undefined) {//如果数组中有值,则添加第二条数据
        resList[thisindex] = resList[thisindex].concat(datalist[i]);
      } else {//新建数组
        resList[thisindex] = [];
        resList[thisindex][0] = datalist[i];
      }
    }
    return resList
  },

这个方法只能对数组类型的字段进行分组,对于文字暂时没考虑,可以根据需要自行调整

思路是:先循环数组,然后第一次添加的数组加入值,然后第二次再次分入这个组里,进行插入的,最后取值

    这个操作类似于分页,只不过分页是直接相加,这个把数据过滤了然后再填入

 

个人笔记,不当之处欢迎指正,转载请注明出处

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!