【问题标题】:Multiple version of keyBy in lodash? (Group values sharing a key as an array)lodash中keyBy的多个版本? (分组值共享一个键作为一个数组)
【发布时间】:2019-02-14 01:45:36
【问题描述】:

有没有一种简单的方法可以用 lodash 实现这一点?

_.something([{a: 3, b: 4}, {a: 3, b: 5}, {a: 10}], 'a')

=> { 3: [ {a: 3, b: 4}, {a: 3, b: 5 } ], 10: [{ a: 10 }]}

也就是说,将共享同一个键的所有值组合在一起,作为该键下的一个数组。

【问题讨论】:

    标签: javascript object lodash


    【解决方案1】:

    您可以使用_.groupBy 按给定键进行分组。

    创建一个由运行collectioniteratee 的每个元素的结果生成的键组成的对象。分组值的顺序由它们在collection 中出现的顺序决定。每个键对应的值是负责生成键的元素数组。 iteratee 使用一个参数调用:(value)

    console.log(_.groupBy([{ a: 3, b: 4 }, { a: 3, b: 5 }, { a: 10 }], 'a'));
    .as-console-wrapper { max-height: 100% !important; top: 0; }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.min.js"></script>

    【讨论】:

    • 太完美了,谢谢。在doco中很难搜索到你需要的功能。
    猜你喜欢
    • 2016-03-18
    • 2017-04-07
    • 1970-01-01
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多