js 10種迴圈方法

2022-05-27 09:51:13 字數 2157 閱讀 7735

let arr = [,,,,];

// 1.while迴圈

let sum = 0;

let num = 1;

while(num <= 1)

sum += num;

num++;

}// 注:也可用於迴圈dom

// 2.do {} while()

let a = 0;

let b = 1;

dowhile(a <= 100)

// 注:先執行do裡面的**塊再判斷條件,若滿足,則繼續執行**塊,否則終止迴圈,

// 3.for

for(let item =0;item// 4.for in

for(let item in arr)

}// 注:for in主要用於遍歷物件屬性

// 5.for of

for(let item of arr)

}// 注:只能用於遍歷字串/陣列/類陣列物件(nodelist)

// 6.foreach

arr.foreach(function(item, index, arr)

}, arr3); // arr3 為可選引數,函式體內可通過this訪問

// 注: foreach無返回值,無法跳出迴圈,可採用將foreach放入try{},catch{},手動丟擲異常的方式

// 7.filter(item, index, arr)

// 無法跳出迴圈,用於過濾陣列成員,滿足條件的成員組成乙個新陣列返回。它的引數是乙個函式,所有陣列成員依次執行該函式,返回結果為true的成員組成乙個新陣列返回。該方法不會改變原陣列。

[1, 2, 3, 4, 5].filter(function (elem) ) // [4, 5]

let array = [0, 1, 'a', false];

array.filter(boolean) // [1, "a"]

// filter方法也可以接受第二個引數,用來繫結引數函式內部的this變數。

let obj = ;

let myfilter = function (item) ;

let arr2 = [2, 8, 3, 4, 1, 3, 2, 9];

arr2.filter(myfilter, obj) // [8, 4, 9]

// 8.some(),every()

// 這兩個方法返回乙個布林值,表示判斷陣列成員是否符合某種條件。

// 它們接受乙個函式作為引數,所有陣列成員依次執行該函式。該函式接受三個引數:當前成員、當前位置和整個陣列,然後返回乙個布林值。

// some方法是只要乙個成員的返回值是true,則整個some方法的返回值就是true,否則返回false

// every方法則相反,所有成員的返回值都是true,整個every方法才返回true,否則返回false。

[1, 2, 3, 4, 5].every(function (elem, index, arr) ) // false

// 9.reduce(),reduceright()

// reduce方法和reduceright方法依次處理陣列的每個成員,最終累計為乙個值。它們的差別是,reduce是從左到右處理(從第乙個成員到最後乙個成員),

// reduceright則是從右到左(從最後乙個成員到第乙個成員),其他完全一樣。

[1, 2, 3, 4].reduce(function (a, b, c, d) , total) // total 為可選引數,表示初始累計值,最後結果為total + 陣列累計值

// 10.map()

// 無法跳出迴圈,返回乙個新陣列,第乙個引數為函式,第二個引數可選,用來繫結**函式內部的this變數,將**函式內部的this物件,指向第二個引數。

let arr3 = ['a', 'b', 'c'];

[1, 2].map(function (item, index, arr) , arr3) // 返回['b', 'c']

JS 10道練習題

目錄 01 動態給頁面上新增div.html 02 刪除替換轉殖標籤.html 03 全選全不選反選.html 04 新聞字型.html 05 增刪.html 06 動態生成 html 07 隔行變色.html 08 左到右右到左.html 09 二級聯動.html 10 註冊頁面.html yyy...

js 10 大排序演算法

演算法思想 js實現 const swap function arr,i,j const merge function left,right else while left.length result.push left.shift while right.length result.push ri...

js 10位 13位時間戳轉日期方法

js 處理伺服器返回的10位或者13位時間戳轉為日期方法很簡單 日期格式化 param number time 時間戳 param string format 格式 function dateformat time,format 是否補 0 const isaddzero o return form...