7種你可能不知道的JavaScript循環(huán)變體

1、while
let i = 0// Log: 1 2 3while (i < 3) {console.log(i)i++}
2、do while
do ... while循環(huán)結(jié)構(gòu),像while循環(huán)一樣,當(dāng)測試返回時,它將遍歷代碼塊true。但是,與while循環(huán)不同的是,該循環(huán)將至少執(zhí)行一次,然后在循環(huán)的末尾而不是在開始時進行檢查。
let i = 0do {i += 1console.log(i)} while (i < 5)// Log: 1 2 3 4 5
3、for
for循環(huán)是使用最廣泛的循環(huán)。它用于各種任務(wù),例如,遍歷數(shù)組或特定次數(shù)。與while循環(huán)不同,你不必自己更新測試值。
for(let i = 0; i < 10; i++){console.log(i)}// Log: 1 through 10
4、 for … in
該循環(huán)對于遍歷數(shù)組或另一個可迭代對象以及對該可迭代對象中的每個值進行操作。它會創(chuàng)建一個可以使用的項目變量,而不是索引變量。
let arr = ["Apple", "Pear", "Cucumber"]for (let item in arr) {console.log(item)}// Log: Apple Pear Cucumber
5、for … of
可以與for ... in循環(huán)相同的方式使用它,但是它的用法略有不同。
const arr = [3, 5, 7];// Set arr.fooarr.foo = 'hello';// For ... infor (let i in arr) {console.log(i); // logs "0", "1", "2", "foo"}// For ... offor (let i of arr) {console.log(i); // logs 3, 5, 7}// For ... of will not show 'foo'
6、forEach
一些可迭代對象(例如數(shù)組)包含用于對其進行迭代的內(nèi)置函數(shù)。forEach的功能,如map和filter,要求將通過在迭代每個項目執(zhí)行的功能。
let arr = [1, 2, 3, 4]arr.forEach((item, index) => {console.log(item)})
7、遞歸
遍歷數(shù)組或設(shè)置次數(shù)的“最困難”方法是遞歸。遞歸是計算機科學(xué)中的一個主題,它松散地表示一個函數(shù)將自行調(diào)用,直到進行特定的迭代為止。起初很難理解這個概念,但是,我希望代碼片段可以幫助你理解。
function loop(loopsLeft){if(loopsLeft > 0){console.log(loopsLeft)loop(loopsLeft - 1)} else {return true}}loop(5)
結(jié)論
循環(huán)可以通過很多方式來完成。其中一些僅對特定任務(wù)有用,希望,我今天列舉的這些實例對你有用。
感謝你的閱讀,祝你有美好的一天。
學(xué)習(xí)更多技能
請點擊下方公眾號
![]()

評論
圖片
表情
