js实现工具函数中groupBy数据分组
数据
this.tableData = [
{id: 1, name: '测试', number: 1, price: 0},
{id: 2, name: '测试', number: 1, price: 0},
{id: 3, name: '测试', number: 1, price: 0},
{id: 4, name: '测试一', number: 1, price: 780},
{id: 5, name: '测试一', number: 1, price: 80},
{id: 6, name: '测试一', number: 1, price: 120},
{id: 7, name: '测试二', number: 1, price: 0}
]
函数
groupBy (array, name) {
      const groups = {}
      array.forEach(function (o) {
        const group = JSON.stringify(o[name])
        groups[group] = groups[group] || []
        groups[group].push(o)
      })
      return Object.keys(groups).map(function (group) {
        return groups[group]
      })
    }
调用
const sorted = this.groupBy(this.tableData, 'name')
console.info('tag', sorted)
结果


js实现工具函数中groupBy数据分组的更多相关文章
- js怎样得出数组中某个数据最大连续出现的次数
		
1:js怎样得出数组中某个数据最大连续出现的次数 var test=[1,2,3,3,2,2,2,3,3,3,3,5,3,3,3,3,3] ; var j = 0 ; var max ...
 - React-使用imutable.js来管理store中的数据
		
reducer.js中store的数据是不能改变的,用原始的方法要手动的保证store不被修改,存在风险.imutable.js可以生成一个不可改变的对象,可以避免掉自己不小心修改掉store的情况. ...
 - 你要的几个JS实用工具函数(持续更新)
		
今天,我们来总结下我们平常使用的工具函数,希望对大家有用.1.封装fetch 源码: /** * 封装fetch函数,用Promise做回调 * @type {{get: (function(*=)) ...
 - js 从一个函数中传递值到另一个函数
		
一个函数的调用大家都会用 我今天在调接口的时候突然发现需要引用个另一个函数中拿到的值 举个栗子 刚开始 我是这样调用的 alert弹出的是 hello world . 但是我a函数内部还有一个函数 画 ...
 - js 一些工具函数
		
1.js金钱转换类 这是一个远古时期的函数,拿来分享一下,它将输入的数字保留2位小数并补0 function formatAsMoney(mnt) { mnt -= 0; mnt = (Math.ro ...
 - python中excel数据分组处理
		
1.场景描述 因文本相似性热度统计(python版)需求中要根据故障类型进行分组统计,需要对excel进行分组后再分词统计,简单记录下,有需要的朋友可以直接拿走,不客气! 2.解决方案 采用panda ...
 - Nuxt.js  如何在 asyncData中 请求数据 ,并将拿到的数据传给子组件
		
说明:同接口请求一样,也可以进行数据的处理:return 中 左侧的变量 可以直接拿到在页面上使用,也可以传递给子组件 下面再给出一段代码,方便觉得有用的.却又不想手敲的朋友们: async as ...
 - JS常用工具函数(持续记录)
		
1.设置获取cookie //方式1 //设置cookie function SetCookie(name, value)//两个参数,一个是cookie的名字,一个是值 { var Days = 3 ...
 - node.js 从文件流中读写数据及管道流
		
读取数据 // 引入 fs 模块 const fs = require('fs'); // 创建可读流 let readStream = fs.createReadStream('index.txt' ...
 
随机推荐
- java基础---局部变量和全局变量
			
1.成员变量的概念: 成员变量就是属于类的变量,在类中,方法体外定义的变量 1)成员变量又分为两种: 类变量(又称静态变量) 实例变量(又称非静态变量) 类变量(静态变量) :是被static所修 ...
 - C#.NET编程小考30题错题纠错
			
1)以下关于序列化和反序列化的描述错误的是( C). a) 序列化是将对象的状态存储到特定存储介质中的过程 b) 二进制格式化器的Serialize()和Deserialize()方法可以分别用来实现 ...
 - C#中继承和多态
			
1.继承的概念 继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用已存在的类的功能. 为了提高软件模块的可复用性和可扩充性,以便提高软件的开发效率,我们总 ...
 - SOUI3界面编辑器使用说明
			
SOUI一直没有官方的界面编辑器,关键是我自己一直坚持手写界面更好控制. 大概是2年前,网友"指尖"开发了一个SOUI2的编辑器,功能非常多,特点是可以拖动控件来实现可视化布局. ...
 - Spring框架源码干货分享之三级缓存和父子工厂
			
记录并分享一下本人学习spring源码的过程,有什么问题或者补充会持续更新.欢迎大家指正! 环境: spring5.X + idea 建议:学习过程中要开着源码一步一步过 Spring中对象的创建宏观 ...
 - 嵌入式实验一:LED灯点亮
			
实验一:LED灯程序 一. 实验环境 开发机环境  操作系统:ubuntu 12.04  交叉编译环境:arm-linux-gcc 4.3.2  6410板子内核源码:linux-3.0.1 目 ...
 - CF139A Petr and Book 题解
			
Content 小 P 有一本 \(n\) 页的书,现给出他一周七天每天的阅读页数,求它在星期几读完这本书. 数据范围:\(1\leqslant n\leqslant 1000\). Solution ...
 - java 常用类库:String ; StringBuilder和StringBuffer类
			
1. String 1.String对象是不可变的 String类的value属性是用来存放字符串里面的值的.这个属性是被final修饰的.final修饰的变量不能够被第二次赋值,所以字符串是不可变的 ...
 - 动态导入模块__import__("str")  importlib标准库
			
解释器内部使用的为__import__('str') #!/usr/bin/env python # Author:Zhangmingda print('我是aa类 ') #被import的时候就执行 ...
 - 【LeetCode】1401. 圆和矩形是否有重叠 Circle and Rectangle Overlapping
			
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 利用公式 日期 题目地址:https://leetco ...