javascript中的For循环VS For Each

时间:2019-01-09 11:45:37

标签: javascript loops

应该使用哪个循环进行更好的优化?

我尝试了一些测试

const arr = new Array(200).fill().map((e, i) => i);
let testArr = [];

function forLoopTest() {
  const t0 = performance.now();

  for (let i = arr.length - 1; i >= 0; i--) {
    testArr.push(arr[i]);
  }

  const t1 = performance.now();
  return (t1 - t0);
}

function forEachTest() {
  const t0 = performance.now();

  arr.forEach(i => testArr.push(i));

  const t1 = performance.now();
  return (t1 - t0);

}


let runTest = 10;
while (runTest > 0) {
  testArr = [];
  console.log(`${forLoopTest()} -- ${forEachTest()}`);
  runTest--;
}

我的输出是

  

“ 0-0”,

     

“ 0-0”,

     

“ 0-0”,

     

“ 0-0.10000000111176632”,

     

“ 0-0”,

     

“ 0-0”,

     

“ 0-0”,

     

“ 0-0.10000000111176632”,

     

“ 0-0”,

     

“ 0-0”

我的问题是,它与其他stackoverflow问题完全不同

  1. 为什么相同方法的执行时间不同?
  2. 我们可以假设For循环更好地建议输出吗?
  3. 测试时间执行是否正确?

0 个答案:

没有答案