簡體   English   中英

Javascript - GroupBy鍵以及如何為結果對象建模

[英]Javascript - GroupBy key and how to model the resulting object

我有這個項目數組:

[
  {id: 1, label: 'test', parent: 'parent 1'},
  {id: 2, label: 'fool', parent: 'parent 1'},
  {id: 3, label: 'bla', parent: 'parent 2'},
  {id: 4, label: 'foo', parent: 'parent 2'}
]

而我正試圖從中得到這樣的東西:

[
  {parent: 'parent 1', members: [{id: 1, label: 'test'}, {id: 2, label: 'fool']},
  {parent: 'parent 2', members: [{id: 3, label: 'bla'}, {id: 4, label: 'foo']}
]

使用underscore.js我能夠達到這一點:

_.groupBy(myList,'parent')
=> 
{
  'parent 1': [{id: 1, label: 'test'}, {id: 2, label: 'fool'],
  'parent 2': [{id: 3, label: 'bla'}, {id: 4, label: 'foo'],
}

......這不是我想要的。 我很確定這是一些愚蠢的東西,但得到了一些卡住:(

好的,在這里找到答案在javascript中按屬性分組對象

所以groupBy現在封裝在一個鏈中,結果傳遞給_.map函數:

.chain(myList)
      .groupBy('parent')
      .map(function(value, key) {
        return {
          parent: key,
          members: value
      }
    })
    .value()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM