【发布时间】:2021-05-25 07:22:56
【问题描述】:
我正在发出 API 请求并通过 groupBy 和 sortBy 运行数据,以获得稍微结构化的对象。然后我将它保存到状态。
useEffect(() => {
const fetchTeamData = async () => {
const result = await axios(
`https://example.com/api-call`,
).then((result) => {
let teams = _.groupBy(_.sortBy(result.data.results, "season"), "player_profile.team");
setTeamInfo(teams);
});
};
fetchTeamAffinityData();
}, []);
这给了我一个类似的对象:
{
Angels: [
0: {
player_profile:{
name: "John Doe",
number: "10"
},
season: 1
},
1: {
player_profile:{
name: "Mike Trout",
number: "21"
},
season: 2
}
],
Diamondbacks: [
0: {
player_profile:{
name: "Randy Johnson",
number: "51"
},
season: 1
},
1: {
player_profile:{
name: "Brandon Webb",
number: "16"
},
season: 2
}
],
}
这是我正在寻找的输出:
Team: Angels
Player 1: John Doe
Player 1 Number: 10
Player 2: Mike Trout
Player 2 Number: 21
Team: Diamondbacks
Player 1: Randy Johnson
Player 1 Number: 51
Player 2: Bradon Webb
Player 2 Number: 17
这是我尝试过的,它为我提供了团队名称的循环。但是由于我正在映射对象键,因此我丢失了嵌套对象的实际数据。
{Object.keys(teamAffinityInfo?? "").map((team, index) => (
Team: {team}
))}
如何以合理的方式处理深度嵌套的对象?
【问题讨论】:
-
您是否已经尝试过
Object.entries? developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
标签: javascript reactjs