gpt4 book ai didi

javascript - JSON数组仅给出 "1"作为长度,无法循环

转载 作者:行者123 更新时间:2023-11-28 11:07:02 25 4
gpt4 key购买 nike

我有以下 json 数组:

var champions = [{
"1":{
"name":"Aatrox",
"role1":"Top",
"role2":"Jungle"},
"2":{
"name":"Ahri",
"role1":"Middle"},
"3":{"
name":"Akali",
"role1":"Middle",
"role2":"Top"
}
}];

我尝试用我找到的代码片段循环遍历这个数组:

$(document).ready(function(){
var x = 1;
for(var i = 0; i < champions.length; i++) {
console.log(champions[i][x].name);
x++;
}
});

但它只给我“Aatrox”,并在 champions.length 为 1 时停止。
如何循环遍历数组中的所有名称?

最佳答案

假设您不想更改数据结构,您可以迭代数组,然后迭代其中每个对象的属性(然后访问名称):

var champions = [{
"1":{
"name":"Aatrox",
"role1":"Top",
"role2":"Jungle"},
"2":{
"name":"Ahri",
"role1":"Middle"},
"3":{
"name":"Akali",
"role1":"Middle",
"role2":"Top"
}
}];

$(document).ready(function(){
for(var i = 0; i < champions.length; i++) {
for (var prop in champions[i]){
console.log(champions[i][prop].name);
}
}
});

JSFiddle: http://jsfiddle.net/TrueBlueAussie/234yspw1/

注意:它们返回的顺序未定义,因此您不应指望这一点。

JSFiddle: http://jsfiddle.net/TrueBlueAussie/234yspw1/1/

如果顺序很重要,您需要将数据重组为数组。

关于javascript - JSON数组仅给出 "1"作为长度,无法循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29751761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com