我正在尝试使用哈希表来选择存储在数组/对象中的特定对象。然而,我在遍历对象时遇到了问题。
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/
在使用对象 pin
存储数据的 TEST 3
中,当遍历对象 pin
时,我得到了 undefined
。如何正确地遍历 pin
?
编辑:
如果我将 pin[6] 更改为一个对象,并想要遍历它们所有的 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
返回undefined,如果我改为console.log(marker)
,那么将会返回marker.listing_id
的值。抱歉我有点混淆了!
我已经成功使用$.each(markers, function(i, marker){});
,但是为什么上面的for..in
不起作用呢?
0
到length-1
进行迭代,并在尝试使用成员之前测试其是否存在。 - RobGpin[6] = '6'
,而是将 pin[6] 赋值为一个对象,并且我想循环遍历它们所有的属性id
,会发生什么?已更新原帖。 - Nyxynyx