解构没有索引的嵌套数组?
Destructuring a nested array without index?
我正在为如何解构这个对象而苦苦思索。该对象的简化版本如下:
serviceRes = {
data = {
gamelogs = [
{
stats = {
...
}
},
{
stats = {
...
}
}
]
}
}
我正在遍历 gamelogs 数组以从每场比赛中获取我需要的数据。基本上,我被困在如何解构 gamelogs 数组,不考虑索引。我曾想过解构循环的每次迭代,但似乎存在更好的方法。
我已经尝试了类似下面的各种版本,但都没有成功。
const { offensePlays } = serviceRes.data.gamelogs.stats.miscellaneous
如果这里的对象或我的预期目标需要任何澄清,我可以澄清。我尽力了
您不能使用解构赋值将一些对象的数组转换为它们的属性的数组。根据您的需要,您应该:
-解构循环中你需要的一切(用forEach显示)
serviceRes.data.gamelogs.forEach(({stats:{miscellaneous:{offensePlays}}}) => {
console.log(offensePlays);
});
-或者,如果您需要一组 offensePlays,只需使用 Array#map()
const offensePlays = serviceRes.data.gamelogs.map(log => log.stats.miscellaneous.offensePlays);
console.log(offensePlays.length);
我正在为如何解构这个对象而苦苦思索。该对象的简化版本如下:
serviceRes = {
data = {
gamelogs = [
{
stats = {
...
}
},
{
stats = {
...
}
}
]
}
}
我正在遍历 gamelogs 数组以从每场比赛中获取我需要的数据。基本上,我被困在如何解构 gamelogs 数组,不考虑索引。我曾想过解构循环的每次迭代,但似乎存在更好的方法。
我已经尝试了类似下面的各种版本,但都没有成功。
const { offensePlays } = serviceRes.data.gamelogs.stats.miscellaneous
如果这里的对象或我的预期目标需要任何澄清,我可以澄清。我尽力了
您不能使用解构赋值将一些对象的数组转换为它们的属性的数组。根据您的需要,您应该:
-解构循环中你需要的一切(用forEach显示)
serviceRes.data.gamelogs.forEach(({stats:{miscellaneous:{offensePlays}}}) => {
console.log(offensePlays);
});
-或者,如果您需要一组 offensePlays,只需使用 Array#map()
const offensePlays = serviceRes.data.gamelogs.map(log => log.stats.miscellaneous.offensePlays);
console.log(offensePlays.length);