优化Javascript函数以解决内存泄漏问题

时间:2016-08-30 12:05:36

标签: javascript memory-leaks

由于某些原因,我正在优化javascript函数,此时我正在研究哪些可以优化以下代码。

我有以下数组:

var usageArray = [5,10,20,10,15,18,19,20,21,24,23,28,29,27,10,10];   

我想将值推送到此数组的末尾而不更改节点数并创建具有以下结构的数组:

[[0, 5], [1, 10], [2, 20], [3, 10], [4, 15], [5, 18], [6, 19], [7, 20], [8, 21], [9, 24], [10, 23], [11, 29], [12, 27], [13, 10], [14, 10]]

我将使用以下函数每10秒传递一个新值:

function tUsage(value) {
    usageArray = usageArray.slice(1);
    usageArray.push(value);
    var i = [];
    for (var s = 0; s < usageArray.length; ++s) {
        i.push([s, usageArray [s]]);
    }
    console.log([i]);
    //Free Memory
    i = null;
    s = null; 
} 

有没有办法以更好的方式编写此函数,因为每10秒触发一次这个函数并想要删除它的内存泄漏。

1 个答案:

答案 0 :(得分:1)

根据上面的讨论,您的整个功能可以简化为Array.prototype.map次呼叫:

var usageArray = [5,10,20,10,15,18,19,20,21,24,23,28,29,27,10,10];

var newArray = usageArray.map(function (value, index) { return [index, value]; });
console.log(newArray);