首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Js对数据实现分组GroupBy特性

一个用于分组的代码片段(有注释)

let list = [{ "name": "John", "Average": 15, "High": 10, "DtmStamp": 1358226000000},{ "name": "Jane", "Average": 16, "High": 92, "DtmStamp": 1358226000000},{ "name": "Jane", "Average": 17, "High": 45, "DtmStamp": 1358226000000},{ "name": "John", "Average": 18, "High": 87, "DtmStamp": 1358226000000},{ "name": "Jane", "Average": 15, "High": 10, "DtmStamp": 1358226060000},{ "name": "John", "Average": 16, "High": 87, "DtmStamp": 1358226060000},{ "name": "John", "Average": 17, "High": 45, "DtmStamp": 1358226060000},{ "name": "Jane", "Average": 18, "High": 92, "DtmStamp": 1358226060000}];

function GroupBy(array, fn) {debugger;const groups = {};array.forEach(function (item) { const group = JSON.stringify(fn(item)); //这里利用对象的key值唯一性的,创建数组 groups[group] = groups[group] || []; groups[group].push(item);});//最后再利用map循环处理分组出来return Object.keys(groups).map(function (group) { return groups[group];});}

//这里如果想要按照name进行分组即如下:const results = GroupBy(list, function (item) {return [item.name];});

console.log(results)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200509A0RIQS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券