当前位置: 首页 > Web前端 > HTML

问题50:为什么for循环的嵌套顺序会影响性能?

时间:2023-04-02 14:28:03 HTML

核心:将循环次数最少的放在外层,减少对内部变量的操作次数//嵌套方法一functionfirst(){letstartTime=newDate().getTime();for(leti=0;i<100;i++){for(letj=0;j<1000;j++){for(letk=0;k<10000;k++){}}}让endTime=newDate().getTime();returnendTime-startTime+'ms';}//嵌套方法2functionsecond(){letstartTime=newDate().getTime();for(leti=0;i<10000;i++){for(letj=0;j<1000;j++){for(letk=0;k<100;k++){}}letendTime=newDate().getTime();返回endTime-startTime+'ms';}console.log(first());//382msconsole.log(second());//501ms嵌套模式,i执行1次,j执行1000次,k执行1000*10000次,i执行100次,j执行1001000次k执行1001000*10000次总次数=i(100)+j(100,000)+k(1,000,000,000)=1,000,100,100次循环体执行次数为:1,000,100,100次嵌套方法2执行一次j会执行1000次k会执行1000*100次i将被执行10000次j将被执行100001000次k将被执行100001000*100总次数=i(10,000)+j(10,000,000)+k(100,000,000)=110,010,000循环体执行次数为:110,010,000文章内容/灵感借鉴自以下内容[持续维护/更新500+前端面试题/笔记]https://github.com/noxussj/In...[大数据可视化图表插件]https://www.npmjs.com/package...[使用THREE.JS实现3D城市建模(珠海市)]https://3d.noxussj.top/