javascript - 在 for 循环中读取数组项时未定义
问题描述
我正在做一个 for 循环来检查一些值,这里是一个简短的版本。我不明白的是为什么console.log(indirizzo[a]);
给出 undefined 而如果console.log(indirizzo);
我得到所有值
var indirizzo = [];
for (var i = 0; i < savedRepods.length; i++) {
for (var a = 0; a < ids.length; a++) {
if(savedRepods[i] == ids[a]) {
var geocoder = new google.maps.Geocoder;
var latlngStr = coords[a].split(',', 2);
var latlng = {lat: parseFloat(latlngStr[0]), lng: parseFloat(latlngStr[1])};
geocoder.geocode({'location': latlng}, function(results, status) {
indirizzo.push(results[0].formatted_address);
});
console.log(indirizzo[a]);
}
}
}
结果如果我这样做console.log(indirizzo);
0: "Corso Vittorio Emanuele, 1, 09017 Sant'Antioco SU, Italia"
1: "Via Nazionale, 78, 09017 Sant'Antioco SU, Italia"
2: "Via Giosuè Carducci, 15, 09017 Sant'Antioco SU, Italia"
3: "Via Perret, 11, 09017 Sant'Antioco SU, Italia"
4: "Lungomare Amerigo Vespucci, 2A, 09017 Sant'Antioco SU, Italia"
结果如果我这样做console.log(indirizzo[a]);
undefined
解决方案
这里的这一行将a + 1
为每个 id 添加。我假设 id 数组比 长4
,这将比 的项目数量长indirizzo
,从而导致未定义
for (var a = 0; a < ids.length; a++) {
推荐阅读
- c++ - 如何使用构造函数 C++ 用数组初始化指针
- java - 应用程序凭据在 Google Cloud Vision API 中不可用
- android - 无法在 android 中强制转换为 android.location.LocationListener
- typescript - 在navigation.navigate之后反应原生的执行流程
- wordpress - HTACCESS 规则重写 URL 的最后一部分
- android-studio - 当我单击菜单中的项目时,导航抽屉不会在片段之间切换?
- javascript - 如何从雪花中的数据库模式中检索所有表名
- c# - 如何使用 azure 调度程序触发触发器?
- html - 使用本机 html 5 工具提示验证开始/结束日期消息
- pandas - 如何获取 pd.corr() 使用的周期数