Javascript 使用循环遍历对象中的数组

Javascript 使用循环遍历对象中的数组,javascript,arrays,json,Javascript,Arrays,Json,我在一个对象中得到了几个不同的数组。我想去槽他们与数字值,因为我需要设置在一个循环中,他们在手风琴不同的插槽。我得到的Json文件的值看起来有点像这样(例如Pokemon): 我想将这些数据称为如下内容: function SetJsonDataToAccordion() { for (var i = 0; i < Object.keys(pokemondata).length; i++) { CreateAccordionContent(pokemondata[i

我在一个对象中得到了几个不同的数组。我想去槽他们与数字值,因为我需要设置在一个循环中,他们在手风琴不同的插槽。我得到的Json文件的值看起来有点像这样(例如Pokemon):

我想将这些数据称为如下内容:

function SetJsonDataToAccordion() {
    for (var i = 0; i < Object.keys(pokemondata).length; i++) {
        CreateAccordionContent(pokemondata[i], ".accordtitle"+i);
    }
}
函数setjsondataaccordion(){
for(var i=0;i

Pokemonda是获取所有Json数据的变量。当然,口袋妖怪[i]不起作用,但我想在循环中循环使用口袋妖怪类型,如先火后水,然后草等,而不调用数组名称。如果我把它设置为pokemonda.FirePokemon,一切都会好起来,但我需要在它们之间循环。那么,有没有一种方法可以通过对象中的数组进行循环?

您可以在
循环中使用
for
/

根据您的示例:您需要3个嵌套循环

var obj={
“口袋妖怪”:{
“壁炉门”:[{
“名称”:“Vulpix”,
“速度”:“10”,
“攻击”:“10”,
“辩护”:“10”
},
{
“姓名”:“查尔曼德”,
“速度”:“10”,
“攻击”:“10”,
“辩护”:“10”
}
],
“水精灵”:[{
“名称”:“斯奎特尔”,
“速度”:“10”,
“攻击”:“10”,
“辩护”:“10”
},
{
“名称”:“瓦托特尔”,
“速度”:“10”,
“攻击”:“10”,
“辩护”:“10”
}
],
“草精灵”:[{
“名称”:“Bulbasaur”,
“速度”:“10”,
“攻击”:“10”,
“辩护”:“10”
},
{
“名字”:“古怪”,
“速度”:“10”,
“攻击”:“10”,
“辩护”:“10”
}
]
}
};
for(对象Pokemon中的变量key1){
console.log(“=====================================”);
控制台日志(键1);
console.log(“=====================================”);
for(obj.Pokemon[key1]中的变量key2){
for(对象Pokemon[key1][key2]中的变量key3){
log(key3+”:“+obj.Pokemon[key1][key2][key3]);
}
console.log(“****”);
}

}
迭代这两种方法。通过Object.keys,您可以获得口袋妖怪类型的列表,并通过这些信息,您可以遍历每个口袋妖怪

var pokemonData = obj.Pokemon;
Object.keys(pokemonData).forEach(type => {
   // do something with pokemon type
   pokemonData[type].forEach(pokemon => {
      //do something with actual pokomen
   });
});
var pokemonData = obj.Pokemon;
Object.keys(pokemonData).forEach(type => {
   // do something with pokemon type
   pokemonData[type].forEach(pokemon => {
      //do something with actual pokomen
   });
});