【问题标题】:Group an object by multiple keys using lodash使用 lodash 通过多个键对对象进行分组
【发布时间】:2016-12-27 03:58:00
【问题描述】:

数据如下:

const data = [
  {'a': '1', 'b': '2', 'c': '3'},
  {'a': '10', 'b': '20', 'c': '30'}
]

我想要这个:

const aArray = ['1','10']
     ,bArray = ['2', '20']
     ,cArray = ['3', '30']

我这样做了:

...
return {
  aArray = _.values(_.mapValues(data, 'a'))
  bArray = _.values(_.mapValues(data, 'b'))
  cArray = _.values(_.mapValues(data, 'c'))
}

它可以工作,但看起来不干净。通过多个键对对象进行分组的最简洁的方法是什么?

【问题讨论】:

  • 究竟是什么看起来不干净?对我来说看起来非常可读且足够短。

标签: javascript arrays ecmascript-6 lodash


【解决方案1】:

您可以使用纯 JavaScript 实现此目的:

const data = [
  {'a': '1', 'b': '2', 'c': '3'},
  {'a': '10', 'b': '20', 'c': '30'}
]

const aArray = data.map(x => x.a)
     ,bArray = data.map(x => x.b)
     ,cArray = data.map(x => x.c)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    • 2018-02-20
    • 2018-08-28
    • 2023-01-25
    • 2019-10-07
    • 1970-01-01
    • 2022-01-11
    相关资源
    最近更新 更多