You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

可将单个元素归入多组的multi-group-by函数是否有通用名称?

多分组元素归类工具相关问题

需求描述

需要一种工具,可将单个元素归入多个分组。举个例子:

输入示例

[
  { name: "x", groups: ["a", "b"] },
  { name: "y", groups: ["a"] },
  { name: "z", groups: ["b"] }
]

输出示例

{
  a: [
    { name: "x", groups: ["a", "b"] },
    { name: "y", groups: ["a"] }
  ],
  b: [
    { name: "x", groups: ["a", "b"] },
    { name: "z", groups: ["b"] }
  ]
}

想了解是否有编程语言的标准库提供此类工具,若有,其通用名称是什么?


JavaScript 实现方案

如果上述示例还没明确需求,以下是一种JavaScript实现方式:

const multiGroupBy = (items, callbackFn) =>
  Object.fromEntries(
    Object.entries(
      Object.groupBy(
        items.flatMap((item) => callbackFn(item).map((group) => [group, item])),
        ([group, _]) => group,
      ),
    ).map(([group, items]) => [group, items.map(([_, item]) => item)]),
  )

内容的提问来源于stack exchange,提问作者Isti115

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 10:22:11