JavaScript Array 整理 - 遍歷操做

這是個人原創文章,原文地址:http://lpgray.me/article/48/前端

今天談談基礎,在前端開發中,Array的基礎操做非常頻繁多見,在ES5中有許多Array的新特性,可是對於我等中國的碼農,尤爲是PC前端狗成天就與IE678打交道,有事沒事就套一套jQuery,對原生的Array操做確定特別生疏,我也同樣。在面試題中,對Array的操做也是熱門題目,今天我就整理整理最經常使用的Array方法。git

先說說最經常使用的遍歷操做

分別是:github

  1. forEach面試

  2. every數組

  3. some函數

  4. mapthis

  5. filteres5

以上5個函數接受的參數都同樣,分別是:prototype

  1. fn : function類型,接收3個參數:1,當前遍歷的值;2,當前下標;3,當前的數組對象code

  2. thisObj: 可選參數,指定fn函數的執行上下文

Array.prototype.forEach(fn, thisObj)

描述

此函數就是用來遍歷數組的每個元素,而後在回調裏進行各類操做,回調的返回值沒有意義。

return

Null

Array.prototype.every(fn, thisObj)

描述

此函數用來遍歷數組的每個元素,回調的返回值有意義,返回false時,數組中止循環。

return

Boolean, 數組中全部元素是否所有知足fn的條件。

Array.prototype.some(fn, thisObj)

描述

此函數用來遍歷數組的每個元素,回調的返回值有意義,返回true時,數組中止循環。

return

Boolean, 數組中是否存在知足fn條件的元素。

Array.prototype.map(fn, thisObj)

描述

此函數遍歷數組的每個元素,不會改變原數組,fn回調的返回值會用來生成新數組中的元素。

return

Array,fn中每個返回值都是新數組中的每個元素。

Array.prototype.filter(fn, thisObj)

描述

此函數用來遍歷數組的每個元素,不會改變原數組,fn回調必須返回Boolean類型,表示當前元素是否知足條件能夠被返回。

return

Array,fn中每返回一個值,即會添加到新數組中。

要點:forEach, every, some 三者、mapfilter 二者的區別須要特別注意。

問題:一個數組最多能夠有多長?

ES5中規定 (http://es5.github.io/#x9.6),數組的長度會使用 toUint32() 轉化,即 2^32。

相關文章
相關標籤/搜索