js 遍歷陣列方式
1. for迴圈
for迴圈是最基礎也是效率最高的陣列遍歷方式
2. for of() 迴圈
推薦用for of遍歷陣列,for in遍歷物件
3. forEach(function(currentValue, index, arr), thisValue)
forEach()方法用於呼叫陣列的每一個元素,並將元素傳遞給回撥函式
function(currentValue, index, arr):必須。為一個函式,陣列中的每個元素都會執行這個函式。其中函式引數:
currentValue:必填,當前元素。
index:可選,當前元素的索引。
arr:可選,當前元素所屬的陣列物件。
thisValue:可選,傳遞給函式的值一般用this值,如果這個引數為空,"undefined"會傳遞給"this"值。(這個引數一般很少用)
1、 forEach() 對於空陣列是不會執行回撥函式的。
2、 for可以用continue跳過迴圈中的一個迭代,forEach用continue會報錯。
3、 forEach() 需要用 return 跳過迴圈中的一個迭代,跳過之後會執行下一個迭代。
4、沒有辦法終止或跳出forEach迴圈,不過可以通過try…catch…丟擲錯誤來實現跳出迴圈
4. map(function(currentValue,index,arr), thisValue)
map的引數和forEach類似, map()方法返回一個新的陣列, 不會改變原始陣列的值, 不會對空陣列進行檢測
function(currentValue, index, arr):必須。為一個函式,陣列中的每個元素都會執行這個函式。其中函式引數:
currentValue:必須。當前元素的的值。
index:可選。當前元素的索引。
arr:可選。當前元素屬於的陣列物件。
thisValue:可選。物件作為該執行回撥時使用,傳遞給函式,用作"this"的值。
5.filter(function(currentValue,index,arr), thisValue)
filter用於對陣列進行過濾。同樣, filter() 不會對空陣列進行檢測, 不會改變原始陣列。
6. every(function(currentValue,index,arr), thisValue)
檢測陣列所有元素是否都符合指定條件
如果陣列中檢測到有一個元素不滿足,則整個表示式返回 false ,且剩餘的元素不會再進行檢測。
如果所有元素都滿足條件,則返回 true。
不會對空陣列進行檢測
不會改變原始陣列
7. some(function(currentValue,index,arr), thisValue)
some() 與 every() 相反, 陣列中有一個滿足條件則返回true, 其他注意事項與every() 相同 //有點 && 與 || 的感覺
8. reduce(function(total, currentValue, currentIndex, arr), initialValue)
接收一個函式作為累加器,陣列中的每個值(從左到右)開始縮減,最終計算為一個值。
function(total,currentValue, index,arr) 必需。用於執行每個陣列元素的函式。
total 必需。初始值, 或者計算結束後的返回值。
currentValue 必需。當前元素
currentIndex 可選。當前元素的索引
arr 可選。當前元素所屬的陣列物件。
initialValue 可選。傳遞給函式的初始值
//有點 += 的味道
//由於未傳入初始值, total第一次為1, 而後total為上次結果.
9. reduceRight(function(total, currentValue, currentIndex, arr), initialValue)
reduceRight() 方法的功能和 reduce() 功能是一樣的,不同的是 reduceRight() 從陣列的末尾向前將陣列中的陣列項做累加。
10. find(function(currentValue, index, arr),thisValue)
返回通過測試陣列的第一個元素值。
當陣列中的元素在測試條件時返回 true 時, find() 返回符合條件的元素,之後的值不會再呼叫執行函式。
如果沒有符合條件的元素返回 undefined
find() 不會對空陣列進行檢測。
find() 不改變陣列的原始值。
不過, find() 的相容性不好, IE12及以上才支援
相關文章
- JS中遍歷陣列、物件的方式JS陣列物件
- JS陣列遍歷和獲取陣列最值JS陣列
- 遍歷PHP陣列的6種方式PHP陣列
- php手冊 php陣列的遍歷有哪幾種方式?php陣列如何遍歷?PHP陣列
- 陣列遍歷陣列
- 有關js各種陣列遍歷JS陣列
- c++遍歷陣列的多種方式C++陣列
- 前端技巧:遍歷陣列都有哪些方式呢?前端陣列
- JS中陣列的遍歷方法(3種)JS陣列
- 陣列遍歷方法陣列
- 遍歷陣列物件陣列物件
- php陣列中常用的多種遍歷方式PHP陣列
- PHP二維關聯陣列的遍歷方式PHP陣列
- 如何從效能角度選擇陣列的遍歷方式陣列
- JS遍歷物件的方式JS物件
- JS中陣列與物件的遍歷方法例項JS陣列物件
- js 遍歷陣列取出字串用逗號拼接JS陣列字串
- Golang的陣列初始化方式及for-range遍歷Golang陣列
- JavaScript遍歷陣列詳解JavaScript陣列
- java陣列遍歷的方法Java陣列
- 全面解析Js陣列遍歷對原陣列的影響及返回值JS陣列
- 遍歷陣列的幾種方法陣列
- php 陣列遍歷奇怪現象PHP陣列
- JS陣列方法總覽及遍歷方法耗時統計JS陣列
- 陣列常見的遍歷迴圈方法、陣列的迴圈遍歷的效率對比陣列
- php陣列原理遍歷原理揭祕PHP陣列
- JavaScript遍歷陣列每一個元素JavaScript陣列
- 利用c:forEach標籤遍歷陣列陣列
- java陣列如何遍歷全部的元素Java陣列
- js可列舉屬性的遍歷JS
- JavaScript /JS 如何實現陣列的建立,增加,刪除,遍歷等操作???JavaScriptJS陣列
- 陣列的三種宣告方式總結、多維陣列的遍歷、Arrays類的常用方法總結陣列
- 遍歷物件和陣列的方法總結物件陣列
- 遍歷陣列和物件的方法都有哪些?陣列物件
- JS遍歷物件屬性的7種方式JS物件
- 陣列記憶體地址解讀及二維陣列的遍歷陣列記憶體
- js的map遍歷和array遍歷JS
- 遍歷陣列的常用方法forEach,filter,map等陣列Filter