我需要把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.map((group) => group.gid))]
console.log(newGroup)
4条答案
按热度按时间gwo2fgha1#
用
.flatMap
代替.map
,在回调中返回一个数组--.gid
的值,并同样在.subGroups
数组中展开。xmjla07d2#
有几种方法可以实现这一点,下面是
.reduce()
的一种:z4bn682m3#
可以使用
Array.flatMap()
添加子组数据rryofs0p4#
可以使用Array.prototype.map()和Array.prototype.flat()方法将oldGroup数组转换为仅包含gid和subGroups值的新数组。然后可以使用Array.prototype.filter()方法删除新数组中的任何重复值。