JavaScript陣列方法總結
一.建立陣列的方式
1.使用Array建構函式
var color=new Array();
注意:括號裡面引數可以有引數,若為一個數字,表示該陣列的長度,如果為多個數字或者一個(多個)非數字表示的是傳遞陣列中應該包含的值。
2.使用陣列字面量
var color=[];
二. 陣列的長度
三.陣列的遍歷
四。陣列的迭代方法
ECMAScript為陣列定義了五個迭代方法,每個方法都接收兩個引數:要在每一項上面執行的函式和執行該函式的作用域——影響this的值。傳入這些方法的函式會接收三個引數(陣列項的值,索引,陣列本身)
(1)forEach() 對陣列的每一項執行給定函式,該方法沒有返回值
(2)some(): 對陣列中的每一項執行給定函式,如果該函式對任一項返回true,則返回true
(3) every() 對陣列中的每一項執行都給定函式,如果該函式對每一項都返回true,則返回true
(4)filter() :對陣列的每一項執行給定函式,返回該函式會返回true的項組成的陣列。
對新陣列變化不會影響原陣列的改變
(5)map() :對陣列的每一項執行給定函式,返回每次函式呼叫結果所組成的陣列
之後修改生成的陣列不會影響原陣列
五. 迭代方法
ES5新增了兩個歸併陣列的方法:reduce()和 reduceRight(),這兩個方法都會迭代陣列所有的項,然後構建一個最終的值返回。
這兩個方法都接收兩個引數:一個在每一項上面呼叫的函式和(可選)作為歸併基礎的初始值。
給reduce和reduceRight這兩個方法的函式都接收四個引數值:前一個值,當前值,索引,陣列物件。這個函式返回的任何值都會作為第一個引數自動傳給下一項。第一次迭代發生在陣列的第二項上,因此第一個引數是陣列的第一項,第二個引數是陣列的第二項。
第一次執行回撥函式的時候,pre為1,cur為2,第二次,pre為3(1加2的結果),cur為3(陣列的第三項),依次類推,直到將陣列的每一項都訪問一遍,最後返回結果。
reduceRight()與reduce()使用一樣,只不過是從後往前遍歷。