這是個人原創文章,原文地址:http://lpgray.me/article/48/前端
今天談談基礎,在前端開發中,Array的基礎操做非常頻繁多見,在ES5中有許多Array的新特性,可是對於我等中國的碼農,尤爲是PC前端狗成天就與IE678打交道,有事沒事就套一套jQuery,對原生的Array操做確定特別生疏,我也同樣。在面試題中,對Array的操做也是熱門題目,今天我就整理整理最經常使用的Array方法。git
分別是:github
forEach面試
every數組
some函數
mapthis
filteres5
以上5個函數接受的參數都同樣,分別是:prototype
fn : function類型,接收3個參數:1,當前遍歷的值;2,當前下標;3,當前的數組對象code
thisObj: 可選參數,指定fn函數的執行上下文
此函數就是用來遍歷數組的每個元素,而後在回調裏進行各類操做,回調的返回值沒有意義。
Null
此函數用來遍歷數組的每個元素,回調的返回值有意義,返回false時,數組中止循環。
Boolean, 數組中全部元素是否所有知足fn的條件。
此函數用來遍歷數組的每個元素,回調的返回值有意義,返回true時,數組中止循環。
Boolean, 數組中是否存在知足fn條件的元素。
此函數遍歷數組的每個元素,不會改變原數組,fn回調的返回值會用來生成新數組中的元素。
Array,fn中每個返回值都是新數組中的每個元素。
此函數用來遍歷數組的每個元素,不會改變原數組,fn回調必須返回Boolean類型,表示當前元素是否知足條件能夠被返回。
Array,fn中每返回一個值,即會添加到新數組中。
要點:
forEach
,every
,some
三者、map
、filter
二者的區別須要特別注意。
ES5中規定 (http://es5.github.io/#x9.6),數組的長度會使用 toUint32() 轉化,即 2^32。