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)

結果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM