您的位置:首页 > 其它

ES5数组对象的forEach, map, filter方法

2017-11-02 22:35 239 查看
很早的事了。

ES5中数组新增了几种方法,参考:http://www.zhangxinxu.com/wordpress/2013/04/es5%E6%96%B0%E5%A2%9E%E6%95%B0%E7%BB%84%E6%96%B9%E6%B3%95/#filter

其中forEach, map, filter用法类似,总结下异同。

forEach

用法:forEach() 方法对数组的每个元素执行一次提供的函数。

参数:

callback

为数组中每个元素执行的函数,该函数接收三个参数:

currentValue(当前值)

数组中正在处理的当前元素。

index(索引)

数组中正在处理的当前元素的索引。

array

forEach()方法正在操作的数组。

thisArg可选

可选参数。当执行回调 函数时用作this的值(参考对象)。

返回值:

undefined.

通常需要遍历数组执行某些方法时使用,但这个方法无返回值,且不改变原数组。

map

用法:map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果

参数

callback

生成新数组元素的函数,使用三个参数:

currentValue

callback 的第一个参数,数组中正在处理的当前元素。

index

callback 的第二个参数,数组中正在处理的当前元素的索引。

array

callback 的第三个参数,map 方法被调用的数组。

thisArg

可选的。执行 callback 函数时 使用的this 值。

返回值

一个新数组,每个元素都是回调函数的结果。

通常需要对数组数据进行操作是使用,callback函数返回值便是数组的每一项,它会返回一个新数组,但是不会改变原数组。

filter

用法:filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。

参数

callback

生成新数组元素的函数,使用三个参数:

currentValue

callback 的第一个参数,数组中正在处理的当前元素。

index

callback 的第二个参数,数组中正在处理的当前元素的索引。

array

callback 的第三个参数,map 方法被调用的数组。

thisArg

可选的。执行 callback 函数时 使用的this 值。

返回值

一个新的通过测试的元素的集合的数组

通常需要对数组元素进行筛选时使用,返回值为符合筛选条件的项,不改变原数组。

这些新增方法的callback函数都接收3个参数,分别代表当前项,当前索引,及当前数组对象;且都不改变原数组。

不同的是forEach无返回值,map返回对原数组每一项处理后的新数组,filter返回原数组项中符合某条件的新数组。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐