定義數組有兩種方法:數組
1.構造函數Array()函數
a. 若是構造函數無參數,則構造一個空數組測試
b. 若是構造函數帶有一個參數列表,則每一個參數指定一個元素的值,值的類型是任意的。數組的長度是參數列表中參數的個數this
c.若是構造函數只有一個數值參數,則該數值默認爲數組的長度,每一個元素的值預約義爲undefined對象
2.數組直接量---初始化效率最高排序
方法是在括號運算符中包含多個值列表,逗號分割。索引
使用注意事項:字符串
1.數組長度是彈性的。回調函數
2.數組下標從0開始,能夠爲表達式。io
3.數組長度必須小於2^32-1,不然,會自動將它轉爲一個字符串,從而生成與字符串關聯的關聯數組,即,把數組作爲一個對象,數組下標作爲對象屬性的名字,不在是數組下標。
數組操做:
push() 給數組添加元素
pop()刪除並返回數組最後一個元素
unshift() 在數組頭部插入一個元素,能夠包含多個參數,此時在數組頭部一次性插入多個參數,順序同參數順序
shift() 將元素移出數組,並返回元素值,
concat()鏈接數組----返回新建立的數組
splice() 插入、刪除或替換數組元素,第一個參數爲操做的起始下標位置,第二個參數指定要刪除元素的個數,第三個及後面的全部不肯定參數爲將要插入的元素,無參數時不作操做,一個參數時刪除指定下標開始的全部,返回值爲被刪除後的子數組;若是第一個參數爲負值,從右往左定位,若是第二個參數爲負,按0算。
slice() 截取數組,兩個參數,分別爲起始和結束的下標,返回截取後的數組;若是僅指定一個參數,截取從指定下標起、到結束的數組。參數爲負數時,從右往左數。第一個參數大於數組長度時,不作操做,第二個參數大於數組長度時,按數組長度算。
sort() 排序
reverse() 倒序
toString() 數組轉字符串,逗號分割
join() 將數組元素鏈接起來以構建一個字符串,參數爲鏈接數組元素的字符串
迭代:
foreach: 語法:array.forEach(callbackfn[,thisArg])
callbackfn:必須參數,最多能夠接收三個參數的函數,對於數組中的每一個元素,forEach都會調用callbackfn一次。
thisArg:callbackfn中可引用的this對象
回調函數說明:function callbackfn(value,index,array)
value 數組元素值,index 數組元素的數字索引 array 包含該元素的數組對象
every:肯定數組的全部成員是否知足指定的測試,語法同foreach
map:
filter:返回回調函數中知足指定條件的數組
reduce:對數組中全部元素調用指定回調,該回調函數的返回值爲累積結果,而且在下一次調用該回調時作爲參數傳遞。
reduceRight:同上,從右往左