第一種:
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");
打印出來的效果是這樣: