这是个人原创文章,原文地址: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。