Javascript - 访问对象属性

时间:2015-11-04 09:19:51

标签: javascript arrays object

我在Javascript中有一个数据对象,包含我需要显示的所有数据(我从API获取数据)。

我无法理解为什么我无法访问其属性。这是我的数据(来自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]

现在我有一个用于访问属性的循环但是它会抛出一个错误。我检查过每一个组合,但没有任何作用:

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)

1 个答案:

答案 0 :(得分:3)

更改for语句。它通过<=

访问数组外部
for ( i = 0; i<=datos.length; i++ ) {

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