您的位置:首页 > Web前端 > JavaScript

JavaScript数组求和的几种方法

2017-10-26 15:46 316 查看
不多说废话,直接上代码及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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息