set_options_list = function(selctelm, json){
$(selctelm).empty();
for ( key in json.array.F_02_0010){
val = json.array.F_02_0010[key]
console.log(key, typeof val, val[0], val[1]);
};
}
这是我的json数组:
json.array = {F_02_0010 : [{0 : "-------"},
{1:"20億円以上"},
{2:"14億円以上20億円未満"},
{3:"7億円以上14億円未満"},
{4:"7000万円以上7億円未満"},
{5:"7000万円未満"}],
F_02_0110 : [{0 : "-------"},
{1:"10億円以上"},
{2:"7億円以上10億円未満"},
{3:"4億円以上7億円未満"},
{4:"4000万円以上4億円未満"},
{5:"4000万円未満"}],
F_02_0210 :[{0 : "-------"},
{1:"10億円以上"},
{2:"7億円以上10億円未満"},
{3:"4億円以上7億円未満"},
{4:"5000万円以上4億円未満"},
{5:"5000万円未満"}],
"default": [{0 : "-------"}]
};
我正在undefined
访问密钥和值。这可能是什么原因?
这是console.log结果:
0 object ------- undefined
1 object undefined 20億円以上
2 object undefined undefined
3 object undefined undefined
4 object undefined undefined
5 object undefined undefined
我不确定为什么我在这里未定义?
答案 0 :(得分:1)
你可能会这样想:
json.array = {F_02_0010 : ["-------",
"20億円以上",
"14億円以上20億円未満",
"7億円以上14億円未満",
"7000万円以上7億円未満",
"7000万円未満"],
F_02_0110 : ["-------",
"10億円以上",
"7億円以上10億円未満",
"4億円以上7億円未満",
"4000万円以上4億円未満",
"4000万円未満"],
F_02_0210 :["-------",
"10億円以上",
"7億円以上10億円未満",
"4億円以上7億円未満",
"5000万円以上4億円未満",
"5000万円未満"],
"default": ["-------"]
};
或者这样:
json.array = {F_02_0010 : {0 : "-------",
1:"20億円以上",
2:"14億円以上20億円未満",
3:"7億円以上14億円未満",
4:"7000万円以上7億円未満",
5:"7000万円未満"},
F_02_0110 : {0 : "-------",
1:"10億円以上",
2:"7億円以上10億円未満",
3:"4億円以上7億円未満",
4:"4000万円以上4億円未満",
5:"4000万円未満"},
F_02_0210 : {0 : "-------",
1:"10億円以上",
2:"7億円以上10億円未満",
3:"4億円以上7億円未満",
4:"5000万円以上4億円未満",
5:"5000万円未満"},
"default": {0 : "-------" }
};
答案 1 :(得分:0)
F_02_0010
属性包含一个对象数组,必须使用传统的for语法进行迭代。在每次迭代期间,抓取对象然后遍历其单个键:
set_options_list = function(selctelm, json){
$(selctelm).empty();
for (var i =0; json.array.F_02_0010.length; i++){
var val = json.array.F_02_0010[i];
for(key in val){
console.log(val[key]);
}
};
}
答案 2 :(得分:0)
有道理:
json.array.F_02_0010 [0]是{0:“-------”},
json.array.F_02_0010 [1]是{1:“20亿円以上”},
json.array.F_02_0010 [2]是{2:“14亿円以上20亿円未満”},
等...
所以:
json.array.F_02_0010 [0] [i]是“-------”如果i == 0,否则未定义
json.array.F_02_0010 [1] [i]是“20亿円以上”如果i == 1,则未定义
json.array.F_02_0010 [2] [i]是“14亿円以上20亿円未満”如果i == 2,则未定义
等...