javascript數組常用的遍歷方法
本篇文章給大家帶來的內容是關於javascript數組常用的遍歷方法(代碼示例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
前言
本文主要介紹數組常見遍歷方法:forEach、map、filter、find、every、some、reduce,它們有個共同點:不會改變原始數組。
一、forEach:遍歷數組
1 2 3 4 5 |
console.log(colors[i]); //red blue green
|
1 2 3 4 |
|
我們再來看個例子:遍歷數組中的值,並計算總和
1 2 3 4 |
|
二、map:將數組映射成另一個數組
map通過指定函數處理數組的每個元素,並返回處理後新的數組,map 不會改變原始數組。
forEach和map的區別在於,forEach沒有返回值。
map需要返回值,如果不給return,默認返回undefined
使用場景1
假定有一個數值數組(A),將A數組中的值以雙倍的形式放到B數組
1 2 3 4 5 6 7 |
|
1 2 3 4 5 |
|
使用場景2 假定有一個對象數組(A),將A數中對象某個屬性的值存儲到B數組中
1 2 3 4 5 6 7 8 |
|
三、filter:從數組中找出所有符合指定條件的元素
filter() 檢測數值元素,並返回符合條件所有元素的數組。 filter() 不會改變原始數組。
使用場景1:假定有一個對象數組(A),獲取數組中指定類型的對象放到B數組中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
1 2 3 4 5 |
|
使用場景2:假定有一個對象數組(A),過濾掉不滿足以下條件的對象
條件: 蔬菜 數量大於0,價格小於10
1 2 3 4 5 6 7 8 9 10 11 12 |
|
使用場景3:假定有兩個數組(A,B),根據A中id值,過濾掉B數組不符合的數據
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
四、find:返回通過測試(函數內判斷)的數組的第一個元素的值
它的參數是一個回調函數,所有數組成員依次執行該回調函數,直到找出第一個返回值為true的成員,然後返回該成員。如果沒有符合條件的成員,則返回undefined。
使用場景1
假定有一個對象數組(A),找到符合條件的對象
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
1 2 3 4 5 |
|
使用場景2:假定有一個對象數組(A),根據指定對象的條件找到數組中符合條件的對象
1 2 3 4 5 6 7 8 9 10 11 |
|
五、every&some
every:數組中是否每個元素都滿足指定的條件
some:數組中是否有元素滿足指定的條件
使用場景1:計算對象數組中每個電腦操作系統是否可用,大於16位操作系統表示可用,否則不可用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
1 2 3 4 5 6 7 8 9 |
|
一言以蔽之:Every: 一真即真;Some: 一假即假
使用場景2:假定有一個註冊頁面,判斷所有input內容的長度是否大於0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
六、reduce:將數組合成一個值
reduce() 方法接收一個方法作為累加器,數組中的每個值(從左至右) 開始合並,最終為一個值。
使用場景1: 計算數組中所有值的總和
1 2 3 4 5 6 7 |
|
1 2 3 4 5 6 |
|
使用場景2:
將數組中對象的某個屬性抽離到另外一個數組中
1 2 3 4 5 6 7 8 9 10 |
|
使用場景3:判斷字符串中括號是否對稱
1 2 3 4 5 6 7 8 9 |
|
以上就是javascript數組常用的遍歷方法(代碼示例)的詳細內容。
本文轉載於:segmentfault,僅因寫的全面,故拿來做筆記,如有侵犯,請聯系刪除。
javascript數組常用的遍歷方法