1.最傳統方法 for迴圈
1var arr = ["first","second","third","fourth",3,5,8];
2for(var i = 0; i < arr.length;i++)5//
輸出:6
first
7second
8third
9fourth
10 3
11 5
12 8
for… in
1var arr = ["first","second",'third' ,"fourth",3,5,8];
2for(var i in
arr)5//
輸出結果為:
6 first/0
7 second/1
8 third/2
9 fourth/3
10 3/4
11 5/5
12 8/6
for…of
1var arr = ["first","second",'third' ,"fourth",3,5,8];
2for(var
item of arr)5//
輸出結果:
6first
7second
8third
9fourth
10 3
11 5
12 8
雖然for… in 、 for… of 都能夠變歷陣列,但是兩者還是有很大區別的,先說結論:
兩者的主要區別在於他們的迭代方式
2.foreach方法:被傳遞給foreach的函式會在陣列的每個元素上執行一次,元素作為引數傳遞給該函式
1var arr = ["first","second","third","fourth",3,5,8];2//
element 表示arr的單元項,index 表示arr單元項對應的索引值
3 arr.foreach(function
(element,index))7//
輸出結果:
8 first/0
9 second/1
10 third/2
11 fourth/3
12 3/4
13 5/5
14 8/6
注意:未賦值的值是不會在foreach迴圈迭代的,但是手動賦值為undefined的元素是會被列出的
1var arr1 = ["first","second", ,"fourth",3,5,8];
2 arr1.foreach(function
(element,index))6//
輸出結果
7 first/0
8 second/1
9 fourth/3
10 3/4
11 5/5
12 8/6
3.map 遍歷陣列,並通過callback對陣列元素進行操作,並將所有操作結果放入陣列中並返回該陣列
1var arr = ["first","second",'third' ,"fourth"];
2var arr2 = arr.map(function
(item))
5console.log(arr2);6//
輸出:7 [first,second,third, fourth]
4.filter( )返回乙個包含所有在**函式上返回為true的元素新陣列,**函式在此擔任的是過濾器的角色,當元素符和條件,過濾器就返回true,而filter則會返回所有符合過濾條件的元素
1var arr = ["first","second",'third' ,"fourth",3,5,8];
2var arr3 = arr.filter(function
(item)6})
7console.log(arr3);8//
輸出結果:
9 [3,5,8]
注意:find() 對於空陣列,函式是不會執行的。find() 並沒有改變陣列的原始值。
5.find( )返回通過測試(函式內判斷)的陣列的第乙個元素的值
當陣列中的元素在測試條件時返回 true 時, find() 返回符合條件的元素,之後的值不會再呼叫執行函式。如果沒有符合條件的元素返回 undefined
1var arr = [1,2,3,4,5,6,7];
2var newarr = arr.find(function
(elem));
5console.log(newarr);6//
輸出結果
7 6
6. every() 當陣列中的每乙個元素在callback上被返回true時就返回true(注意:要求每乙個單元項都返回true時才為true)
every()與filter()的區別是:後者會返回所有符合過濾條件的元素;前者會判斷是不是陣列中的所有元素都符合條件,並且返回的是布林值
1var arr = ["first","second",'third' ,"fourth",3,5,8];
2var bol = arr.every(function
(element)6})
7 console.log(bol); //
false
7.some()只要陣列中有一項在callback上就返回true
every()與some()的區別是:前者要求所有元素都符合條件才返回true,後者要求只要有符合條件的就返回true
1var arr = ["first","second",'third' ,"fourth",3,5,8];
2var bol = arr.some(function
(element)6})
7 console.log(bol); //
true
8.findindex() es6陣列新api,找到符合條件的索引並返回
1var ages = [3, 10, 18, 20];23
function
checkadult(age)
function(currentvalue, index,arr)
引數currentvalue:必需。當前元素
index:可選。當前元素的索引
arr:可選.當前元素所屬的陣列物件
遍歷陣列的常用方法
var arr first second third fourth 3,5,8 for var i 0 i arr.length i 輸出 first second third fourth 3 5 8 被傳遞給foreach的函式會在陣列的每個元素上執行一次,元素作為引數傳遞給該函式 var ar...
常用的遍歷陣列,Map,Set的方法
一,for of用法 適用iterable型別的集合即array,set,map var a a b c var s new set a b c var m new map 1,x 2,y 3,z for var x of a for var x of s for var x of m 陣列執行結果...
遍歷陣列,遍歷物件的方法
遍歷陣列 方法1 for 迴圈 使用臨時變數將陣列長度快取起來,避免重複獲取陣列長度 for var i 0,leng arr.length i leng i 方法2 foreach迴圈 遍歷陣列中的每一項,沒有返回值,對原陣列沒有影響,不支援ie arr.foreach item,index,ar...