繁体   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