我正在尝试映射一个数组,并为每个键映射一个嵌套的对象数组以打印出分组值。
我一直在获取.map()不是我的嵌套数组的函数。
我已经尝试了Object.Keys作为对象,而map()为数组,但是我似乎无法正确打印任何内容。
分组数组
{Airport: Array(1), Motorway: Array(2), Other: Array(2), Train: Array(2), Subway: Array(1)}
嵌套数组
Airport: Array(1)
0: {Station: "Airport", Description: "This is a description for the Airport", …}
Motorway: (2) [{…}, {…}]
尝试打印映射结果:
return (
<Wrapper>
{Object.keys(list).map((key) => {
key.map((station) => {
console.log(station);
})
})}
</Wrapper>
)
我认为,因为父对象是一个对象,而子对象是数组,则使用Object Keys然后可以使用map函数,但是抛出.map()并不是函数错误。任何帮助将不胜感激。
答案 0 :(得分:2)
之所以不起作用,是因为您尝试在.map
中执行key
。 key
只是一个字符串。
您应该在list[key]
上进行映射,直到该数组
{Object.keys(list).map((key) => {
return list[key].map((station) => {
console.log(station);
// you should return something here
})
})}
您可以做的另一件事是遍历值。
{Object.values(list).map((value) => {
return value.map((station) => {
console.log(station);
// you should return something here
})
})}
这样,values
是您想要的数组,您可以使用.map
。