我正在尝试使用哈希表,因此我可以选择存储在数组/对象中的特定对象。但是,我在循环对象时遇到问题。
var pins= {};
pins[6] = '6';
pins[7] = '7';
pins[8] = '8';
$('#result3').append('<div>Size: ' + Object.size(pins) + '</div>');
for(var i = 0; i < Object.size(pins); i++) {
$('#result3').append('<div>' + pins[i] + '</div>');
}
JSFiddle:http: //jsfiddle.net/7TrSU/
正如您所看到的TEST 3
,使用 objectpin
来存储数据,我undefined
在遍历 object 时得到了pin
。
循环的正确方法是什么pin
?
编辑
如果pin[6] = '6'
我制作 pin[6] = 一个对象而不是 just ,并且我想遍历它们的所有id
属性,会发生什么?我正在做的实际代码片段......
for(var i = 0; i < json.length; i++) {
markerId = json[i].listing_id
// Place markers on map
var latLng = new google.maps.LatLng(json[i].lat, json[i].lng);
var marker = new google.maps.Marker({
listing_id: markerId,
position: latLng,
icon: base_url + 'images/template/markers/listing.png',
});
markers[markerId] = marker;
}
for(var marker in markers) {
console.log('marker ID: ' + marker.listing_id);
mc.addMarker(marker);
}
console.log
上面返回未定义,如果我这样做,console.log(marker)
我会得到marker.listing_id
. 对不起,我越来越糊涂了!
我设法让它工作,$.each(markers, function(i, marker){});
但为什么for..in
上述不起作用?