ES5中常用Array小方法: forEach() map() filter()

原创 西红柿是小贱猫 教程 js基础知识 237阅读 2017-11-15 13:49:39 举报

原文地址: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/
Array是我们在日常js工作中常用的一种数据类型,关于数组的循环,填充,新建,我们固然可以使用最基础的方法进行,但是既效率低又容易出错,用不好还会污染全局变量。ES5中有很多关于Array的方法,能让我们的代码变得更漂亮也更简单。作为一个前端工程师,一个程序员,理应有一颗不断进取不断对世界充满好奇的心(此处鸡汤,但的确是我入职半年以来最大的感受,尤其是在组里众位大神的碾压下),所以我结合资料,总结了一下常用的三种方法。好的,下面进入正题。

1. forEach()方法[color=#ff0000][/color]
forEach是Array新方法中最基本的一个,就是遍历,循环。
forEach()实例

等同于下面的代码

不用forEach()

Array在ES5新增的方法中,参数都是function类型,默认有传参,这些参数分别是?见下面:

forEach的参数类型

forEach方法中的function回调支持3个参数,第一个是遍历的数组内容,第二个是对应的数组索引,第三个是数组本身

[].forEach(function(value, index, array) {
// ...
});
forEach数组求和

2. map
这里的map是“映射”的意思。[].map();
(这里要注意,ES6也有map,但是使用跟这里完全不同,是一种类似数组的构造函数,是一种“值--值”对应的数据结构,关于ES6map的用法,我们以后会详述)
ES5的map用法和forEach()方法类似 array.map(callback,[ thisObject]);
callback的参数也类似
[].map(function(value,index,array) {
// ...
})
map方法

callback需要有return值,如果没有,每一项都会被映射成undefined

3. filter
filter为“过滤”.“筛选”之意,指数组filter后,返回过滤后的新数组,用法跟map极为相似
array.filter(callback,[ thisObject]);
filter的callback函数需要返回布尔值true或false,如果true表示通过,false表示该项被舍弃
filter

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复