我目前有一组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
复制相似问题