视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
实例详解ECMAScript5中新增的Array方法_javascript技巧
2020-11-27 20:53:01 责编:小采
文档


ECMAScript5 给出了一系列新的API接口,这些接口在新的浏览器中大部分是被支持的,IE9,Chrome,FirFor都支持,也有少量API不是所有浏览器都支持,以下内容仅介绍大部分被支持的API。利用新的API我们可以设计出非常靠谱的类,而且还能保持原有的javaScript的风格。

ECMAScript5标准发布于2009年12月3日,它带来了一些新的,改善现有的Array数组操作的方法。(注意兼容性)

在ES5中,一共有9个Array方法:http://kangax.github.io/compat-table/es5/



下面列举了其中的7种方法,前5种方法很常见,很多开发者都会用到:

1、indexOf()

indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1。



2、filter()

该filter()方法创建一个新的匹配过滤条件的数组。

不用 filter() 时:



用了 filter():



3、forEach()

forEach为每个元素执行对应的方法,是用来替换for循环的。



4、map()

map()对数组的每个元素进行一定操作(映射)后,会返回一个新的数组。

输出结果:
Object {first_name: "Colin", last_name: "Toh", full_name: "Colin Toh"}
Object {first_name: "Addy", last_name: "Osmani", full_name: "Addy Osmani"}
Object {first_name: "Yehuda", last_name: "Katz", full_name: "Yehuda Katz"}
****/ 

使用map()方法:

输出结果:
Object {first_name: "Colin", last_name: "Toh", full_name: "Colin Toh"}
Object {first_name: "Addy", last_name: "Osmani", full_name: "Addy Osmani"}
Object {first_name: "Yehuda", last_name: "Katz", full_name: "Yehuda Katz"}
****/ 

5、reduce()

reduce()可以实现一个累加器的功能,将数组的每个值(从左到右)将其降低到一个值。也可以理解为:让数组中的前项和后项做某种运算,并累积最终值;

场景: 统计一个数组中有多少个不重复的单词;

输出结果:
// Object {apple: 2, orange: 3, pear: 1} 

使用reduce()后:

输出结果:
// Object {apple: 2, orange: 3, pear: 1} 

6 、array.some(callback[, thisObject]);callback : 函数用来测试某些元素。

thisObject: 对象作为该执行回调时使用。

检测数组中是否有某些项符合条件;



7、array.every(callback[, thisObject]);callback : 函数用来测试每个元素。thisObject: 对象作为该执行回调时使用。

检测数组中每一项是否符合条件;



通过以上实例给大家介绍了ECMAScript5中新增的Array方法,希望对大家有所帮助!

下载本文
显示全文
专题