如何使用 (JavaScript) for 循环遍历嵌套 Json 数组并显示文本
How to loop through Nested Json Array with (JavaScript) for loop and display the text
这可能是
一个相当简单的问题,但无论我更改多少次for循环,它都对我不起作用。那么如何在 JavaScript 中使用 for 循环遍历这个数组呢?
var fielditems =[
[["News Tips"],["Opinions"],["MedMinutes"]],
[["Yes"],["No"],["Maybe"]],
[["How"],["Why"],["When"]]
];
这就是我所拥有的,它不起作用。我使用警报来测试结果,但它甚至没有返回任何内容。
for(itemSet in fielditems){
var itemSetValues = fielditems[itemSet];
for(set in itemSetValues){
var itemValue = itemSetValues[set];
for(value in itemvalue){
alert(itemValue[value]);
}
}
}
我做错了什么?
不要将
for()
与数组的in
一起使用。它适用于对象属性。请改用标准格式。
演示:http://jsfiddle.net/ThinkingStiff/EVWch/
脚本:
var fielditems =[
[["News Tips"],["Opinions"],["MedMinutes"]],
[["Yes"],["No"],["Maybe"]],
[["How"],["Why"],["When"]]
];
for( var itemIndex = 0; itemIndex < fielditems.length; itemIndex++ ){
var itemSetValues = fielditems[itemIndex];
for(var setIndex = 0; setIndex < itemSetValues.length; setIndex++ ){
var itemValue = itemSetValues[setIndex];
for(var valueIndex = 0; valueIndex < itemValue.length; valueIndex++ ){
alert(itemValue[valueIndex]);
};
};
};
首先,控制台是你的朋友。你得到错误ReferenceError: itemvalue is not defined
因为javascript区分大小写。将嵌套最多的循环中的itemvalue
更改为 itemValue
。
其次,如果你想迭代一个数组,你应该使用 for 循环而不是 for-in-loop
- 不要在数组上使用
for-in
循环 - 不要使用(运行(变量而不将它们声明为局部变量
for (var i=0; i<fielditems.length; i++) {
var itemSetValues = fielditems[i];
for (var j=0; j<itemSetValues.length; j++) {
var itemvalue = itemSetValues[j]; // notice the case
for (var k=0; k<itemvalue.length; k++) {
alert(itemvalue[k]);
}
}
}
for..in
是针对对象({}
(,而不是数组([]
(。
您需要使用标准的for
循环。
for(var i = 0, iLen = fielditems.length; i < iLen; i++){
var iItem = fielditems[i];
for(var j = 0, jLen = iItem.length; j < jLen; j++){
var jItem = iItem[j];
alert(jItem[0]); // you can also add another loop here, if this will have more elements
}
}
注意:
for(var i = 0, iLen = fielditems.length; i < iLen; i++)
优于:
for(var i = 0; i < fielditems.length; i++)
因为不是每个循环都请求fielditems.length
,只是在开始时请求一次。
相关文章:
- Javascript-JSON-嵌套和分组
- JSON 嵌套 Ul 来自 Javascript 中的单维或多维 json 对象
- 如何从 json 嵌套结构中获取键的 json 值
- 如何使用角度获取这些 json 嵌套值
- 使用jquery加载json嵌套对象
- 如何在JavaScript中从url解析json(嵌套)
- 如何在 Python 和 JavaScript 中以相同的方式散列“json”嵌套字典
- 对象和数组的复杂 JSON 嵌套
- JSON嵌套对象分析
- Evaluate Json-嵌套的Json路径以字符串形式提供
- JSON嵌套“;第n级”;对象数组转换为多维数组
- jQuery JSON嵌套循环
- 查找使用多个字符串值的JSON嵌套节点
- 浏览json嵌套文件
- Angularjs的ng-repeat下拉菜单从json嵌套
- JSON嵌套对象vs Javascript数组
- 重复使用不同的json嵌套
- 我如何使用d3.js导航JSON嵌套文件
- Grails 2.4.4绑定JSON嵌套对象
- JSON 嵌套解析帮助使用 $.each