2015-11-04 240 views
-1

我有一个Javascript数据对象与我需要显示的所有数据(我从API获取数据)。Javascript - 访问对象属性

我不明白为什么我不能访问它的属性。这是我的数据(从执行console.log):

[Object, Object, Object, Object] 
0: Object 
distancia: "2.69" 
id_servicio: "1" 
latitud: "42.2261474" 
longitud: "-8.7604453" 
service_data: Array[1] 

1: Object 
distancia: "0.65" 
id_servicio: "2" 
latitud: "42.2272562" 
longitud: "-8.7340278" 
service_data: Array[1] 

2: Object 
distancia: "2.36" 
id_servicio: "3" 
latitud: "42.2338588" 
longitud: "-8.7030846" 
service_data: Array[1] 

3: Object 
distancia: "4.42" 
id_servicio: "4" 
latitud: "42.2154313" 
longitud: "-8.6754155" 
service_data: Array[1] 

现在我有一个循环accesing的属性,但它抛出一个错误。我已经检查每一个组合,但没有任何工程:

for (i = 0; i<=datos.length; i++) { 
     var servicio = datos[i]; 
     var nLatitud = servicio.latitud; 
     var nLongitud = servicio.longitud; 
     console.log(servicio); 
     var auxll = new google.maps.LatLng(nLatitud,nLongitud); 
     var marker = new google.maps.Marker({ 
     position: myLatlng, 
     map: map 
     }); 
     marker.setMap($scope.map); 
    } 

而且,这是我得到的错误:

TypeError: Cannot read property 'latitud' of undefined 
    at generarMapa (myDashboardController.js:134) 
    at myDashboardController.js:94 
    at ionic.bundle.js:18899 
    at processQueue (ionic.bundle.js:23394) 
    at ionic.bundle.js:23410 
    at Scope.parent.$get.Scope.$eval (ionic.bundle.js:24673) 
    at Scope.parent.$get.Scope.$digest (ionic.bundle.js:24484) 
    at Scope.parent.$get.Scope.$apply (ionic.bundle.js:24778) 
    at done (ionic.bundle.js:19191) 
    at completeRequest (ionic.bundle.js:19363) 
+0

经典差一错误... – deceze

+0

嗯,有时候错误描述混淆你的头脑,遗憾的困惑:_ –

回答

3

更改for语句。它的访问之外出数组由<=

for (i = 0; i<=datos.length; i++) { 

for (var i = 0; i < datos.length; i++) { 
+1

我只是一个白痴。哦,上帝,离子框架的错误并不准确......我专注于访问对象。上帝,非常感谢! –