数组的Javascript数组->array[index]未定义
Javascript array of arrays -> array[index] is undefined
我从php文件中生成一些javascript。在这个生成的代码中,我创建了一个多维数组,然后填充它。第一个嵌套数组填充起来没有问题,但第二个数组抛出TypeError:myArray[idx]未定义。
下面是一个代码片段:
function initialize() {
var arrayLabels = [];
var arrayMarkers = [];
var idx = 0;
arrayMarkers[idx] = [];
var mapLatlng = new google.maps.LatLng(40.6029248937, 7.7861327300);
var mapOptions = { center: mapLatlng,
zoom: 13,
mapTypeId: google.maps.MapTypeId.SATELLITE };
var map = new google.maps.Map(document.getElementById("karte"), mapOptions);
var bounds = new google.maps.LatLngBounds();
arrayMarkers[idx]['breite'] = 44.4114053473682;
arrayMarkers[idx]['laenge'] = 8.91858100891113;
arrayMarkers[idx]['farbe'] = "http://new.kfb.localhost:8888/img/ico/button2_gruen.png";
arrayMarkers[idx]['hafen'] = "Ab/bis Genua";
arrayMarkers[idx]['link'] = "Karte, Wetter und<br>Landausflüge für<br><a href='hafen.php?hafen=172'>Genua</a><br>Sa, 16.03.13";
idx++;
arrayMarkers[idx]['breite'] = 43.3449053146323;
在索引增加后的最后一行抛出错误。你知道问题出在哪里吗?
谢谢MK
您正在递增idx
,然后执行以下操作:
arrayMarkers[idx]['breite'] = 43.3449053146323;
您从未在arrayMarkers[idx]
中放置过任何对象,因此最终尝试将属性添加到undefined
中,这会导致错误。
如果您想在新索引处创建一个数组,请添加此处显示的第二行:
idx++;
arrayMarkers[idx] = []; // <=== Add this
arrayMarkers[idx]['breite'] = 43.3449053146323;
旁注:您在arrayMarkers[idx]
中放入的东西是数组([]
),但您不是将它们用作数组,而是将它们用作对象。您可以在JavaScript中这样做(因为这些数组根本不是真正的数组),但除非您要利用它们是数组的事实,否则我只会使用对象:
arrayMarkers[idx] = {}; // Instead of []
idx++;
arrayMarkers[idx]['breite'] = 43.3449053146323;
应该是
arrayMarkers[idx]['breite'] = 43.3449053146323;
idx++;
以便在所有操作完成后移动到下一个索引。否则,使用它们会将值增加到不存在的下一个索引
或者,如果必须保持不变,那么您可以像一样初始化该值
idx++;
arrayMarkers[idx] = [];
arrayMarkers[idx]['breite'] = 43.3449053146323;
相关文章:
- 如何在映射数组中添加换行符
- javascript结合了数组和字典
- 需要帮助设置json数组
- 不能从angular2中的子组件指定父组件中的数组
- 使用JS将数组转换为json对象
- 使用Express4将数组从Nodejs中的app.js传递到routes/index.js
- 使用 INDEX 添加到数组或对象
- 使用Javascript regex替换“index”数组字符串
- 如何使用 ng-repeat $index 在数组中查找元素
- AngularJS中的2D数组$Index
- Jquery数组[index]返回未定义
- [Angular.js + JSF]不能在ng-repeat中使用$index获取数组列表中的元素
- javascript index多维对象数组
- JS数组[index]后的NaN
- 为什么幻灯片不能使用索引数组或index array.src
- 通过像via index这样的属性访问数组对象
- 如何将$index从ng-repeat保存到数组本身
- JSON/Javascript:返回包含某个属性的数组对象的INDEX
- 数组的Javascript数组->array[index]未定义
- 通过$index并从数组中删除元素来重复跟踪