js中几种常用的for循环进行比较以及得出结论

for 循环有很多变形,例如 while、for、for(倒序)、for…of、forEach、for…in、for…await

const million = 1000000; 
const arr = Array(million);

// 注:这是稀疏数组,应该为其指定内容,否则不同方式的循环对其的处理方式会不同:
// const arr = [...Array(million)]

console.time('?');
var i = arr.length;
while(i>0) {i--;} // while :-3.29ms
for (let i = arr.length; i > 0; i--) {} // for(倒序)  :- 2.8ms
for (let i = 0; i < arr.length; i++) {} // for          :- 2.9ms
arr.forEach(v => v)                     // foreach      :- 3.01ms
for (const v of arr) {}                 // for...of     :- 11.7ms
console.timeEnd('?');

结论
for 最快,但可读性比较差
foreach 比较快,能够控制内容
for…of 比较慢,但香
for…in 比较慢,没那么方便

最后,给你一条明智的建议 —— 优先考虑可读性。尤其是当我们开发复杂的结构程序时,更需要这样做。当然,我们也应该专注于性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值