使用jQuery

时间:2015-07-31 12:16:45

标签: jquery

数组键将是动态的,但只有两个数组项。例如,键start_location.A的值为London,键start_location.F的值为Manchester

我可以得到像这样的值

var start_location_A = result.routes[0].legs[c].steps[b].start_location.A; 
var start_location_F = result.routes[0].legs[c].steps[b].start_location.F; 

AF将是动态的,这意味着字母会发生变化。我如何获得第一个&无论密钥名称如何,start_location数组中的第二项?我在下面尝试但是说 start_location.index不是函数

var start_location_A = result.routes[0].legs[c].steps[b].start_location;
                    start_location_A = start_location_A.index(0);

                    var start_location_F = result.routes[0].legs[c].steps[b].start_location;
                    start_location_F = start_location_F.index(1);

我如何解决?

2 个答案:

答案 0 :(得分:2)

你可以迭代json结构的键:试试这个:

var arr=[];
var json = result.routes[0].legs[c].steps[b].start_location;
for(var o in json){
     arr.push(json[o]);
}
var start_location_A = arr[0];
var start_location_B = arr[1];

它应该给你一个想法

答案 1 :(得分:0)

如果使用命名索引,则在访问数组时,JavaScript会将数组重新定义为标准对象。

var person = [];
person["firstName"] = "John";
person["lastName"] = "Doe";
person["age"] = 46;
var x = person.length;         // person.length will return 0
var y = person[0];             // person[0] will return undefined

您可以做的一件事是使用for循环迭代对象属性,如@Manish Misra建议的那样。但是,不保证您将以正确的顺序获得对象。 More Info