Javascript获取For循环所用时间
第一种:
1 let tOne = new Date().getTime(); 2 let n = new Date(); 3 let hour = n.getHours() < 10 ? "0" + n.getHours() : n.getHours(); 4 let minute = n.getMinutes() < 10 ? "0" + n.getMinutes() : n.getMinutes(); 5 let second = n.getSeconds() < 10 ? "0" + n.getSeconds() : n.getSeconds(); 6 console.error(hour + ":" + minute + ":" + second); // 循环开始时间 7 let arr = new Array(50000); 8 // for (let i = 0; i < arr.length; i++) { 9 // console.log(i); //3.272 + 3.3 + 3.201 + 3.075 + 3.173 10 // } 11 let len = 0; 12 for (let i = 0, len = arr.length; i < len; i++) { 13 console.log(i); // 3.371 + 3.017 + 2.991 + 3.077 + 3.122 14 } 15 let tTwo = new Date().getTime(); 16 let nn = new Date(); 17 hour = nn.getHours() < 10 ? "0" + nn.getHours() : nn.getHours(); 18 minute = nn.getMinutes() < 10 ? "0" + nn.getMinutes() : nn.getMinutes(); 19 second = nn.getSeconds() < 10 ? "0" + nn.getSeconds() : nn.getSeconds(); 20 console.error(hour + ":" + minute + ":" + second); // 循环结束时间 21 console.error("循环所用时间:" + (tTwo - tOne) / 1000 + "s"); // 循环用时
未执行For循环之前,获取一个时间tOne;循环结束时再获取一个时间tTwo;
结束时间 - 开始时间 = 所用时间
这里的循环,如果数据量比较大,最好用一个变量把数组的长度存起来,这样长度只计算一次,然后缓存了,速度会更快。
第二种:
console有.time和.timeEnd方法,可以来记录消耗的时间
let arr = new Array(5000); console.time("zhengshize"); let len = 0; for (let i = 0, len = arr.length; i < len; i++) { console.log(i); } console.timeEnd("zhengshize");
打印出来的效果是这样: