JavaScript数组求和的几种方法

来源:互联网 发布:淘宝直播账号出租平台 编辑:程序博客网 时间:2024/06/05 09:17

不多说废话,直接上代码及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);

原创粉丝点击