Javascript 多维数组推送
我怎么能做这样的事 “type”=某个字符串Javascript 多维数组推送,javascript,arrays,object,multidimensional-array,Javascript,Arrays,Object,Multidimensional Array,我怎么能做这样的事 “type”=某个字符串 ShowMarkers('vehicles'); ShowMarkers('houses'); HideMarkers('vehicles'); var my_array = []; function ShowMarkers(type) { //code var gmm = new google.maps.Marker( { //code }); my_array[type].push(gm
ShowMarkers('vehicles');
ShowMarkers('houses');
HideMarkers('vehicles');
var my_array = [];
function ShowMarkers(type)
{
//code
var gmm = new google.maps.Marker(
{
//code
});
my_array[type].push(gmm);
//Uncaught TypeError: Cannot call method 'push' of undefined
}
function HideMarkers(type)
{
for(var i = 0; i < my_array[type].length; i++)
{
my_array[type][i].setMap(null); //Hide the markers
}
my_array[type] = []; //Empty the array of `type`
}
showmarks(“车辆”);
展示标记(“房屋”);
隐藏标记(“车辆”);
var my_数组=[];
函数显示标记(类型)
{
//代码
var gmm=new google.maps.Marker(
{
//代码
});
my_数组[type].push(gmm);
//未捕获的TypeError:无法调用未定义的方法“push”
}
函数隐藏标记器(类型)
{
对于(var i=0;i
我基本上得到了3个不同的地图图标,我希望用户能够单独删除它们Move
my_array[type]=[]
到顶部,并确保类型
具有字符串或数字的值如果在隐藏标记器
之前调用showmarks
,则问题是我的数组[type]
未定义
将您的功能更改为:
函数显示标记(类型)
{
//代码
var gmm=new google.maps.Marker(
{
//代码
});
if(!(my_数组[类型]数组实例)){
my_数组[类型]=[];
}
my_数组[type].push(gmm);
}
如何声明和初始化my_数组?type
的值是多少?my_数组[type]=[]代码>应该做什么和/或为什么它最终会出现?我声明它为:var my_array=[]代码>。。。。这将清空数组my_数组[type]=[]代码>。。。。。类型是“车辆”,“房屋”或“其他”,如果它真的像它应该工作。请编辑并输入完整的代码。对不起,不清楚。我现在已经更新了主要帖子