js实现工具函数中groupBy数据分组

本文介绍了一种使用JavaScript实现的数据分组方法,通过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)

结果

 

转载于:https://www.cnblogs.com/ToBeBest/p/10470076.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值