幾乎全部的編程語言都原生支持數組類型,由於數組是最簡單的內存數據結構。
它存儲一系列同一種數據類型的值,可是在javascript裏能夠在數組裏保存不一樣類型的值,可是咱們最好仍是要遵照最佳實踐,不要那麼作。javascript
var array = new Array(7); //建立長度爲7的數組
var array = new Array('item1','item2','item3');
以上是使用new關鍵字來建立數組,可是這並非最好的方式,最經常使用的數組建立方式只要 用一個[]就能夠了。以下所示:java
var array = []; var array = ['item1','item2','item3'];
數組迭代
every,filter,foreach,some,map這幾個方法均可接受一個函數做爲參數。
如:number.every(function(number){編程
console.log('----every number----',numbrt); })
every遍歷數組中每一個元素,遇到使函數返回值爲false的元素,every執行結束;
some與every相反,遇到使函數返回值爲true的h元素會執行結束;
forEach會迭代全部元素,與使用for循環的效果相同;
map和filter方法都很會返回一個新數組,不一樣的map會返回全部元素遍歷後的結果,filter只返回結果爲true的結果;數組
搜索和排序
numbers.reverse()//倒序
numbers.sort()//此方法對數組作排序時,把元素默認成字符串進行相互比較,咱們能夠傳人本身的比較函數,因此能夠這樣寫:
numbers.sort(function(a,b){數據結構
return a-b; });
這段代碼當b大於a時,會返回負數,反之則返回正數,若是相等的話就會返回0.返回負數時說明a比b小,這樣sort就會根據返回值狀況給數組作排序。
indexof方法返回與參數匹配的第一個元素的索引,lastIndexOf返回與參數匹配的最後一個元素索引。
ES6中提供了兩個新的方法find()和findIndex()。它們的參數是一個回調函數,全部數組成員依次執行該回調函數,直到找出第一個返回值爲true的成員,而後find()方法會返回該成員,findIndex()返回該成員的位置。編程語言
numbers.join(',')//全部元素用,隔開,輸出爲一個字符串函數