簡體   English   中英

JavaScript-如何制作包含引用的對象的數組?

[英]JavaScript - How to make an array that contains objects by reference?

我正在使用JavaScript映射庫-OpenLayer創建標記疊加層。 我想動態地控制標記:添加新標記並從圖層中刪除現有標記。

將新標記添加到圖層的方法是通過以下命令:

markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(0,0),icon));

如您所見,初始化參數僅包含坐標和圖標圖像,而不包含id,甚至不作為可選參數。

為了控制標記,我想創建二維數組,其中包含按引用和ID數組組成的標記數組。

然后,當我想從圖層中刪除標記時,命令將很簡單:

markers.removeMarker(ArrayMarkers[i]);

如何通過引用將元素推送到JavaScript數組?

如何通過引用在ArrayMarkers元素上運行?

嘗試:

var ArrayMarkers = [];
var myMarker = new OpenLayers.Marker(new OpenLayers.LonLat(0,0),icon);
markers.addMarker(myMarker);
ArrayMarkers.push(myMarker);

基本上,JavasScript通常使用引用來傳遞對象。 您已經將引用傳遞給庫了。 您可以使用相同的技術。

在JavaScript中,您不能選擇按引用值推送變量...這是根據變量類型自動完成的。

我猜您的標記是對象。 因此,它們將通過引用推入數組。 id是String,它們將按值推送。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM