for迴圈整理

2021-10-23 21:53:23 字數 1298 閱讀 9023

普通for迴圈

var arr =[1

,2,3

];for(

let i =

0; i < arr.length; i++

)

foreach() (es5推出)

foreach不能正確響應 break, continue, return

var arr =[1

,2,3

];arr.

foreach

((data,index,arr)

=>

);

for in迴圈 (es3推出)

for in會遍歷原型鏈上屬性和方法 效能不好

var arr =[1

,2,3

];for(index in arr)

for of迴圈 (es6推出)
var arr =[1

,2,3

];for(data of arr)

es6之前的 3 種 for 迴圈有什麼缺陷:

foreach 不能 break 和 return;

for-in 缺點更加明顯,它不僅遍歷陣列中的元素,還會遍歷自定義的屬性,甚至原型鏈上的屬性都被訪問到。而且,遍歷陣列元素的順序可能是隨機的。

所以,鑑於以上種種缺陷,我們需要改進原先的 for 迴圈。但 es6 不會破壞你已經寫好的 js **。目前,成千上萬的 web **依賴 for-in 迴圈,其中一些**甚至將其用於陣列遍歷。如果想通過修正 for-in 迴圈增加陣列遍歷支援會讓這一切變得更加混亂,因此,標準委員會在 es6 中增加了一種新的迴圈語法來解決目前的問題,即 for-of 。

那 for-of 到底可以幹什麼呢?

跟 foreach 相比,可以正確響應 break, continue, return。

for-of 迴圈不僅支援陣列,還支援大多數類陣列物件,例如 dom nodelist 物件。

for-of 迴圈也支援字串遍歷,它將字串視為一系列 unicode 字元來進行遍歷。

for-of 也支援 map 和 set (兩者均為 es6 中新增的型別)物件遍歷。

總結一下,for-of 迴圈有以下幾個特徵:

這是最簡潔、最直接的遍歷陣列元素的語法。

這個方法避開了 for-in 迴圈的所有缺陷。

與 foreach 不同的是,它可以正確響應 break、continue 和 return 語句。

其不僅可以遍歷陣列,還可以遍歷類陣列物件和其他可迭代物件。

關於迴圈的整理。

迴圈結構 for迴圈 do while 迴圈 while 迴圈 for迴圈 for 初始化語句 判斷條件語句 控制條件語句 while 迴圈 while 判斷條件語句 do while 迴圈 dowhile 判斷條件語句 三種迴圈的區別 do。while迴圈必須先執行一次,在執行判斷條件。for迴圈...

C語言整理 五 (迴圈語句)

while 表示式 迴圈體語句 過程 判斷表示式,其值為真時執行2 其值為假時執行4 執行迴圈體 轉去執行1 迴圈終止,執行while迴圈之後的語句 說明 先判斷表示式,再決定是否執行迴圈體 表示式可以是關係表示式 邏輯表示式,也可以是數值或字元表示式 迴圈體是乙個語句。如果有多條語句需要用 括起來...

判斷程式中迴圈的進度方法整理

可用於神經網路的訓練進度顯示和資料預處理進度顯示 1.直接列印法 如下 n 5 for i in range 0,n print progress format round i 1 100 n 結果如下 但是很明顯這樣會一行一行重新整理,太辛苦電腦了,所以有了改良的只顯示一行的版本 2.單行列印法 ...