【发布时间】:2018-07-10 23:59:49
【问题描述】:
我正在使用 lodash 对一组对象进行分组:
let people = [
{name:'carl',group:'one'},
{name:'john',group:'one'},
{name:'dean',group:'three'}
]
_.groupBy(people,"group");
结果:
one: Array (2 items)
0: Object {group: "one", name: "carl"}
1: Object {group: "one", name: "john"}
three: Array (1 item)
0: Object {group: "three", name: "dean"}
我想要的是组数组长度大于 1 的对象单独分成另一个数组,如下所示:
one: Array (1 item)
0: Object {group: "one", name: "carl"}
one: Array (1 item)
0: Object {group: "one", name: "john"}
three: Array (1 item)
0: Object {group: "three", name: "dean"}
最好的方法是什么?
【问题讨论】:
-
你不能有第二种格式的对象,因为你有冲突的键名(在这种情况下是
one) -
你最多能做的是:
{"key": {'one': []}, "otherkey": {'one': []}, ....} -
但是,如果您正在使用具有这种复杂性的结构,为什么不直接使用从 _.groupBy 返回的结构呢?它很干净,你应该能够调整你的实现以适应它
-
我不确定我是否理解这里的要求。
标签: javascript arrays lodash