我有一个数组:
var markerArray = [];//global var
var markerCnt = 0;//global var
for(var x=0;x<10;x++){
markerArray[markerCnt] = new Array(agency, address, marker, onMarkerClick);
//agency and agency = string
//marker = google maps marker
//onMarkerClick = function
markerCnt++;
}
如何调用指定的onMarkerClick函数? 我会这么做:
markerArray[0][3]();
答案 0 :(得分:1)
作为替代解决方案,您也可以这样做:
var markerArray = [];
var markerCnt = 0;
for(var x=0;x<10;x++){
markerArray[markerCnt] = {
'agency' : agency,
'address' : address,
'marker' : marker,
'click' : onMarkerClick
};
markerCnt++;
}
//To call the click
markerArray[0].click();
答案 1 :(得分:0)
您的问题的答案是是。
无论维数多少,您都可以执行存储在数组中的任何函数。
// perfectly valid
markerArray[0][3]()
// as is this
someArray[0][1][7][2]()
除了回答您的问题之外,我建议使用一组对象,这样您就不必执行数组成员了。这样可以提高代码的可读性,如果你在6个月内查看代码,可以节省几个小时的时间。
var markerArray = [];//global var
var markerCnt = 0;//global var
for(var x=0;x<10;x++){
markerArray[markerCnt] = {
agency: agency
address: address
marker: marker
onMarkerClick: onMarkerClick
};
//agency and agency = string
//marker = google maps marker
//onMarkerClick = function
markerCnt++;
}
// then reference your function
markerArray[0].onMarkerClick();