我需要组合gidsubGroups,并将其输出到一个不重复的字符串数组中. 我现在的问题是,它只达到了第一级.

const oldGroup = [
    {
        "gid": "JFK",
        "subGroups": [
            "SFO",
            "LAX"
        ]
    },
    {
        "gid": "JFK",
        "subGroups": [
            "SFO",
            "LAX"
        ]
    },
    {
        "gid": "SFO",
        "subGroups": []
    },
    {
        "gid": "LAX",
        "subGroups": [
            "LGA"
        ]
    }
]

const newGroup = [...new Set(oldGroup.map((group) => group.gid))]

console.log(newGroup)

推荐答案

如果是.flatMap而不是.map,则在回调中返回一个数组-.gid值,并且也分布在.subGroups数组中.

const oldGroup = [
    {
        "gid": "JFK",
        "subGroups": [
            "SFO",
            "LAX"
        ]
    },
    {
        "gid": "JFK",
        "subGroups": [
            "SFO",
            "LAX"
        ]
    },
    {
        "gid": "SFO",
        "subGroups": []
    },
    {
        "gid": "LAX",
        "subGroups": [
            "LGA"
        ]
    }
]

const newGroup = [...new Set(oldGroup.flatMap((group) => [group.gid, ...group.subGroups]))]

console.log(newGroup)

Javascript相关问答推荐

D3 Scale在v6中工作,但在v7中不工作

Next.js(react)使用moment或不使用日期和时间格式

使用Nuxt Apollo在Piniastore 中获取产品细节

同一类的所有div';S的模式窗口

为什么云存储中的文件不能公开使用?

expo 联系人:如果联系人的状态被拒绝,则请求访问联系人的权限

图表4-堆叠线和条形图之间的填充区域

不同表的条件API端点Reaction-redux

将Auth0用户对象存储在nextjs类型脚本的Reaction上下文中

FireBase FiRestore安全规则-嵌套对象的MapDiff

如果我的列有条件,我如何呈现图标?

固定动态、self 调整的优先级队列

JQuery使用选项填充HTMLSELECT并设置默认结果,默认结果显示为空

使用onClick单击子元素时,使用交点观察器的关键帧动画意外运行

元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件),但GET:Object.在Reaction项目中

try 导入material 时出现错误NG0203

如何在Flat Pickr中更改取消选中日期的 colored颜色

在Java脚本/类型脚本中覆盖父构造函数中的默认值

我遇到了Phaser 3碰撞的问题

动画可以在Chrome上运行,但不能在Safari上运行