在最近一次项目开发中用到了需要将后端返回的数据进行分类处理,然后找到了一个用于数组数据分类的方法,记录一下
//arrayClass.js文件
/*
* 数组元素分类
* array 需要处理的数组
* f 以当前f分类的字段
* */
function groupBy(array, f){
let groups = {};
array.forEach(function (o) {
var group = JSON.stringify(f(o));
groups[group] = groups[group] || [];
groups[group].push(o);
});
return Object.keys(groups).map(function (group) {
return groups[group];
});
};

export function arrayGroupBy(list, groupId){
let sorted = groupBy(list, function (item) {
return [item[groupId]];
});
return sorted;
};


import { arrayGroupBy } from "@/utils/arrayClass.js";
let arr = [{name:'一一',age:'18',sex:'男'},{name:'二二',age:'20',sex:'女'},{name:'三三',age:'18',sex:'男'},{name:'四四',age:'20',sex:'男'}]
console.log(arrayGroupBy(arr,'age'))