JavaScript中遍歷的幾種方法

1.while循環

  while後面跟循環條件和執行語句,只要滿足條件,就會一直執行裡面的執行

var i = 0
while(i<10){
  console.log(i)
  i++  
}

2.do...while循環

  與while相似,但是他會先執行一次,再做判斷條件

var i=0
do{
  console,log(i)
  i++
}while(i<10)

3.for循環

var arr = [0,1,2,3]
for(let i = 0;i < arr.length;i++){
    console.log(i)
}

4.forEach循環

var arr = [0,1,2,3]
arr.forEach((item,index)=>{
    console.log(`下標${index}的數為${item}`)
})

5.for...in循環

  一般用來遍歷對象的屬性,遍曆數組的話拿到的是下標

var obj = {name:'snail',age:18}
for(var key in obj){
  console.log(key)
}

6.for...of循環

  可以遍歷拿到每一個元素

var str = 'snail'
for(var item of str){
  console.log(item)
}

7.map映射

  map方法將數組的所有成員依次傳入參數函數,然後把每一次的執行結果組成一個新數組返回。

  該函數調用時,map方法向它傳入三個參數:當前成員、當前位置和數組本身。

  注意:是返回一個新數組,而不會改變原數組。

var arr = [0,1,2,3]
arr.map((item)=>{
  return item*2
})

8.filter()過濾循環

   filter方法用於過濾數組成員,滿足條件的成員組成一個新數組返回。

  它的參數是一個函數,所有數組成員依次執行該函數,返回結果為true的成員組成一個新數組返回。該方法不會改變原數組。

var arr = [0,4,2,3,5]
arr.filter((item)=>{
  return (item>3)
})

9.some(),every()遍歷

  統計數組是否滿足某個條件,這兩個方法返回一個布爾值,表示判斷數組成員是否符合某種條件。

  它們接受一個函數作為參數,所有數組成員依次執行該函數。該函數接受三個參數:當前成員、當前位置和整個數組,然後返回一個布爾值。

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

  every方法則相反,所有成員的返回值都是true,整個every方法才返回true,否則返回false。兩相比較,some()只要有一個是true,便返回true;而every()只要有一個是false,便返回false.

  這兩個方法在實際開發中,大有可用之處。比如在判定用戶是否勾選了不可操作的數據,或者是否勾選了一條可以操作的數據可以使用這兩個方法遍歷循環數組。

10.reduce()遍歷

  reduce方法第一個參數是一個函數。該函數接受以下四個參數。

  1.Accumulator(累計器)

  2.Current Value(當前值)

  3.Current Index(當前索引)

  4.Source Array(源數組)

  函數的返回值分配給累計器,該返回值在數組的每個迭代中被記住,並最後成為最終的單個結果值。

  這四個參數之中,只有前兩個是必須的,後兩個則是可選的。

 

Tags: