我在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)
答案 0 :(得分:3)
更改for
语句。它通过<=
for ( i = 0; i<=datos.length; i++ ) {
到
for ( var i = 0; i < datos.length; i++ ) {