首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeScript -按键分组对象

TypeScript -按键分组对象
EN

Stack Overflow用户
提问于 2022-09-01 13:46:26
回答 1查看 56关注 0票数 0

我的目标如下:

代码语言:javascript
复制
const original = [{
        "key-8": {
            "some object"
        }
    },
    {
        "key-12": {
            "some object"
        }
    },
    {
        "key-12": {
            "some object"
        }
    },
    {
        "key-1": {
            "some object"
        }
    },
    {
        "key-8": {
            "some object"
        }
    }
]

如您所见,我有两个key-8对象和两个key-12对象。我想将它们结合起来(顺序并不重要),因此输出如下:

代码语言:javascript
复制
{
    {
        "key-12": [{
                "some object"
            },
            {
                "some object"
            }
        ]
    }, {
        "key-1": {
            {
                "some object"
            }
        },
        {
            "key-8": [{
                    "some object"
                },
                {
                    "some object"
                }
            ]
        }
    }
}

不管我做什么,我都不能让它起作用。我使用了reduce,我使用了常规的forEach和其他简单的“黑客”,因为TypeScript不喜欢它们。

有人能帮忙吗?

EN

回答 1

Stack Overflow用户

发布于 2022-09-01 14:00:26

尝尝这个

代码语言:javascript
复制
const orig = [
  {
    "key-8": {
      "key": "...",
      "value": "...",
      "info": "..."
    }
  },
  {
    "key-12": {
      "key": "...",
      "value": "...",
      "info": "..."
    }
  },
  {
    "key-12": {
      "key": "...",
      "value": "...",
      "info": "..."
    }
  },
  {
    "key-1": {
      "key": "...",
      "value": "...",
      "info": "..."
    }
  },
  {
    "key-8": {
      "key": "...",
      "value": "...",
      "info": "..."
    }
  }
];


const result = orig.reduce(function (r, a) {
    const { key, ...others } = Object.values(a)[0];
    r[Object.keys(a)] = r[Object.keys(a)] || [];
    r[Object.keys(a)].push(others);
    return r;
  }, Object.create(null));

  console.log(result);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73570456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档