如何将数组转换为具有相应后续值的对象?

发布于 2025-01-11 11:00:38 字数 722 浏览 0 评论 0原文

我正在尝试转换数组: filterArrays([1, 2, true, true, false, '1', 'a', 3, {}, null, undefined]) 以下模式

{
    "number": [
        1,
        2,
        3
    ],
    "boolean": [
        true,
        true,
        false
    ],
    "string": [
        "1",
        "a"
    ],
    "object": [
        {},
        null
    ],
    "undefined": [
        null
    ]
}

这是我的尝试:它按预期值工作,有更好的方法来解决这个问题吗? 谢谢;

const filterArrays = (values) => {
  return values.reduce((acc, obj) => {
        const key = typeof obj;
        if(acc[key]) {
            acc[key].push(obj)
        }
        else {
            acc[key] = [obj]
        }
        return acc;
  }, {});
}

I am trying convert an array: filterArrays([1, 2, true, true, false, '1', 'a', 3, {}, null, undefined])
following pattern

{
    "number": [
        1,
        2,
        3
    ],
    "boolean": [
        true,
        true,
        false
    ],
    "string": [
        "1",
        "a"
    ],
    "object": [
        {},
        null
    ],
    "undefined": [
        null
    ]
}

Here is my try: which is working as expected value, Is there a better way to solve this problem?
Thanks;

const filterArrays = (values) => {
  return values.reduce((acc, obj) => {
        const key = typeof obj;
        if(acc[key]) {
            acc[key].push(obj)
        }
        else {
            acc[key] = [obj]
        }
        return acc;
  }, {});
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文