我的目标:
"hockey": {
stats: {
skaters: {
regular: [
{name: "stat1", key: "statkey1"}
{name: "stat2", key: "statkey2"}
{name: "stat3", key: "statkey3"}
]
},
goalies: {
regular: [
{name: "stat1", key: "statkey4"}
{name: "stat2", key: "statkey5"}
{name: "stat3", key: "statkey6"}
]
}
}
}
我的代码:
var stats = [];
var key = "";
for (position in sport.stats) {
for (stat_group in position) {
for (stat in stat_group) {
key = stat.key;
stats[key] = true;
}
}
}
我试图使用上述代码从
sport.stats.position.stat_group
中的每个对象中获取属性key
。每种运动都有不同数量的位置和统计组,因此使用三重循环。我没有收到任何控制台错误,但它根本没有获取键,并且迭代器变量未评估为对象而是整数。
这是我想要得到的结果stats
对象:
{
"statkey1": true,
"statkey2": true,
"statkey3": true,
...
}
希望你们能够帮忙!谢谢!
for ... in
的工作方式,请参阅文档。此外,sport
未定义,我只看到stats
与sport.stats
无关。我非常确定“如何迭代包含对象的数组”已经被问了十几次。 - ASDFGerte