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");

打印出来的效果是这样:

 

posted @ 2018-11-13 16:50  正是泽  阅读(3673)  评论(0编辑  收藏  举报