JavaScript數組求和的幾種方法

不多說廢話,直接上代碼及Chrome運行結果。

先扔出一個數組:

    var arr = new Array();
    for (var i = 0; i < 10000000; i++) {
        arr.push(i * 12);
    }
1.for循環

    var sum = 0;
    console.time("for");
    for (var i = 0; i < arr.length; i++) {
        sum += arr[i];
    }
    console.timeEnd("for");
    console.log(sum);

2.while循環

    var sum = 0;
    function getSum(item, index, array) {
        sum += item;
    }
    console.time();
    arr.forEach(getSum);
    console.timeEnd();
    console.log(sum);

3.some方法

    var sum = 0;
    function getSum(item, index, array) {
        sum += item;
    }
    console.time();
    arr.some(getSum);
    console.timeEnd();
    console.log(sum);

4.map方法

    var sum = 0;
    function getSum(item, index, array) {
        sum += item;
    }
    console.time();
    arr.map(getSum);
    console.timeEnd();
    console.log(sum);


5.filter方法

    var sum = 0;
    function getSum(item, index, array) {
        sum += item;
    }
    console.time();
    arr.filter(getSum);
    console.timeEnd();
    console.log(sum);

6.every方法

    var sum = 0;
    function getSum(item, index, array) {
        sum += item;
        return true;
    }
    console.time();
    arr.every(getSum);
    console.timeEnd();
    console.log(sum);

7.reduce方法

    var sum = 0;
    function getSum(preValue,curValue,index, array) {
        return preValue + curValue;
    }
    console.time();
    sum = arr.reduce(getSum, 0);
    console.timeEnd();
    console.log(sum);

8.eval方法

    var sum = 0;
    console.time();
    sum = eval(arr.join("+"));
    console.timeEnd();
    console.log(sum);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章