js中常見的迴圈遍歷

2021-10-25 19:17:28 字數 2902 閱讀 9817

1.for迴圈,可以break結束迴圈。

arr =[1

,2,3

,4,5

,6]for

(let i =

0; i < arr.length; i++

)

2.for...in迴圈,用於物件迴圈遍歷,可獲取物件的對應鍵值

[注意]:for…in迴圈物件的所有列舉屬性,需再使用hasownproperty()方法來忽略繼承屬性,即在迴圈內部判斷一下,某個屬性是否為物件自身的屬性,避免出現遍歷失真的情況。

let obj =

for(

let key in obj)

}// tom

// male

// 18

3.map方法將陣列的所有成員依次傳入引數函式,然後把每一次的執行結果組成乙個新陣列返回。迴圈中途無法停止,會將所有成員遍歷完。
let arr =[1

,2,3

,4,5

]let arr2 = arr.

map(

(n)=>

)console.

log(arr2)

// [2,3,4,5,6]

console.

log(arr)

// [1,2,3,4,5]

此外,map方法接受乙個函式作為引數。該函式呼叫時,map方法向它傳入三個引數:當前成員item、當前位置index和陣列本身arr
let objarr =[,

,,]objarr.

map(

(item, index, arr)

=>

)

4.foreach的使用方法和map差不多,只是foreach方法不返回值,只用來運算元據,且迴圈中途無法停止,會將所有成員遍歷完。

傳入三個引數:當前成員item、當前位置index和陣列本身arr。

let objarr =[,

,,]objarr.

foreach

((item, index, arr)

=>

)

5.filter過濾迴圈

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

傳入三個引數:當前成員item、當前位置index和陣列本身arr

let objarr =[,

]let obj2 = objarr.

filter

((item, index, arr)

=>

)console.

log(obj2)

//

ecmascirpt5 中 array 類中的 filter 方法使用目的是移除所有的 」false「 型別元素 (false, null, undefined, 0, nan or an empty string):
let arr =[3

,4,5

,2,3

, undefined,

null,0

,""];

let arrnew = arr.

filter

(boolean)

;console.

log(arrnew)

// [3, 4, 5, 2, 3]

boolean 是乙個函式,它會對遍歷陣列中的元素,並根據元素的真假型別,對應返回 true 或 false

.

6. object.keys 遍歷物件的屬性

object.keys方法的引數是乙個物件,返回乙個陣列。該陣列的成員都是該物件自身的(而不是繼承的)所有屬性名,且只返回可列舉的屬性。

let obj =

;console.

log(object.

keys

(obj)

)// ["name", "***", "age"]

console.

log(object.

values

(obj)

)// ["tom", "male", "18"]

判斷乙個物件是否是空物件,可以用object.

keys

(obj)

.length>

0

總結對比

方法適用於

是否停止迴圈

用法for

陣列break結束迴圈

for (let i = 0; i < arr.length; i++)

for…in

陣列break結束迴圈

for(let key in obj)

map陣列

無法停止

objarr.map((item, index, arr)=>)

foreach

陣列無法停止

objarr.foreach((item, index, arr)=>)

filter

陣列------

let arr2 = arrobj.filter((item,index,arr)=>)

object.keys

陣列------

object.keys(obj) ,返回的是陣列

說下js中常見的幾種迴圈

var arr 1,2,3,4,5 arr.foreach item,index,array var arr 1,2,3,4,5 var arr1 arr.map item,index,array console.log arr1 2,4,6,8,10 var arr 1,2,3,4,5 var f...

js迴圈遍歷

方式一 var arr 1,2,3,4,5 for let i 0 i方式一利用for迴圈來遍歷陣列的缺點就是 不夠簡潔。下面介紹乙個寫法更加簡潔的方式。方式二var arr 1,2,3,4,5 arr.foreach function value,index 利用foreach迴圈 量少了很多,寫...

JS中常見的演算法

常見演算法 1累加 累積 累加 將一系列的資料加到乙個變數裡面。最後的達到累加的結果 比如 將1到 100的數求累加和。小球從高處落下,每次返回到原來的一半,求第十次小球落地時小球走過的路程。var h 100 var s 0 for var i 0 i 10 i s s 2 100 累積 將一系列...