我在JS中声明了一个数组变量,其中为数组中的每个新元素创建了动态命名的元素。
但是,在尝试计算数组中元素的数量时,我得到了0.
我做错了什么?谢谢!
var cityMarkers = [];
cityMarkers[element.name] = new google.maps.Marker({
...
});
[Piacenza: _.te, Voghera: _.te, Valenza: _.te]
Piacenza: _.te {__gm: {…}, gm_accessors_: {…}, position: _.K, gm_bindings_: {…}, map: Wf, …}
Valenza: _.te {__gm: {…}, gm_accessors_: {…}, position: _.K, gm_bindings_: {…}, map: Wf, …}
Voghera: _.te {__gm: {…}, gm_accessors_: {…}, position: _.K, gm_bindings_: {…}, map: Wf, …}
length: 0
__proto__: Array(0)`
答案 0 :(得分:1)
通过
cityMarkers[element.name] = new google.maps.Marker({
...
})
你实际上并没有向数组中添加内容,但是你将这个数组视为常规对象而不是你定义'常规'属性(JS数组,就像函数是特殊类型的对象,所以它们允许像这样对待)。这就是属性length
仍为0
的原因。