我目前有一组javascript函数,用于设置间隔并清除它们。问题是;间隔存储在数组(intervals[])中。
config: {
settings: {
timezone: 'Australia/Perth,',
base_url: location.protocol + '//' + location.hostname + '' + ((location.pathname) ? location.pathname : ''),
api_url: '/api/'
},
intervals: []
}有两个函数可以处理该数组:第一个函数是interval setter:
interval_set: function(time, name, callback) {
this.config.intervals[name] = setInterval(callback, time);
}第二种是间隔更清晰
interval_clear: function(name) {
if (this.config.intervals[name]) {
clearInterval(this.config.intervals[name]);
this.debug('Interval: "' + name + '" cleared.', 1);
} else {
this.debug('No interval: "' + name + '" found.', 1);
}
}现在的问题是,我需要从interval数组中删除上述间隔,尽管正如您所看到的--它不是用特定的键设置的。
interval数组如下所示:
Array[0]
derp: 1我尝试过使用splice(),但这似乎行不通。你建议我怎么做?我应该用索引将它存储在数组中吗?
谢谢:)
发布于 2014-04-02 02:56:09
听起来你想要的只是:
delete this.config.intervals[name];顺便提一句,在这里,您并没有真正将intervals作为Array使用,您只是像普通的Object一样使用它。因此,它的初始值为{}而不是[]将更正确。
https://stackoverflow.com/questions/22800645
复制相似问题