1. 程式人生 > >for循環兩個略騷的寫法

for循環兩個略騷的寫法

常見 image for 解析 次循環 輸出 code for loop ++i

技術分享圖片

騷寫法

或許你知道,總之我覺得很酷,希望你也這麽認為。

遞增遍歷

最常見場景,從 0 到 10 的遍歷,不輸出 10:

for(let i = -1; ++i < 10;) {
  console.log(i)
}
// 0,1,2,3,4,5,6,7,8,9

對比下常規寫法:

for(let i = 0; i < 10; i++) {
  console.log(i)
}
// 0,1,2,3,4,5,6,7,8,9

遞減遍歷

倒序遍歷,不遍歷第一個,常見用來刪除元素等:

for(let i = 10; i--;) {
  console.log(i)
}
// 9,8,7,6,5,4,3,2,1,0

對比下常規寫法:

for(let i = 10 - 1; i > -1; i--) {
  console.log(i)
}
// 9,8,7,6,5,4,3,2,1,0

原理解析:

for(l1; l2; l3) {} 執行順序:

  1. l1 整個循環開始前執行一次
  2. l2 當次循環執行前執行一次,判斷是否需要執行
  3. l3 每次循環結束執行一次

留個小問題,嘗試把兩個簡寫的 ++-- 關於 i 的前後位置換換會有什麽效果,為什麽?

for循環兩個略騷的寫法