【发布时间】:2016-05-25 18:14:50
【问题描述】:
我有一个函数数组。
var arrOfFunc = [];
我有一个推送到数组的脚本,一个重绘谷歌图表的函数
可以有多种功能,具体取决于我决定在页面上放置多少图表
var chart = "done";
function drawChart(){ ... } //each draw chart function belongs to its own scope.
arrOfFunc.push(drawChart);
$(window).resize(function(){
if(chart=="done"){
chart = "waiting";
setTimeout(function(){
for(var i in arrOfFunc ){
arrOfFunc[i]();
}
chart = "done"
},1000);
});
问题是我有一个用于重新运行整个功能的网格刷新按钮:
- 进行 api 调用
- 用
drawChart()重新渲染网格 - 比将drawChart()函数推送到arrOfFunc;
在决定是否将其推送到 arrOfFunc 对象之前,如何检查该函数是否已存在于数组中?
或者.indexOf() 是否只适用于字符串。
【问题讨论】:
-
您的问题不清楚。创建一个 MCVE。
-
不确定你能做到这一点。您可以为每个函数命名并将它们存储在另一个数组中。
-
indexOf适用于任何数据类型。arrOfFunc.indexOf(drawChart) > -1 -
阅读the documentation;试试看。
-
拥有一个
drawGraph并为每个图形提供一个用于渲染它的id不是更有意义吗?喜欢drawGraph(0); drawGraph(1); drawGraph(4324);
标签: javascript arrays indexing