ECMAScript5 给出了一系列新的API接口,这些接口在新的浏览器中大部分是被支持的,IE9,Chrome,FirFor都支持,也有少量API不是所有浏览器都支持,以下内容仅介绍大部分被支持的API。利用新的API我们可以设计出非常靠谱的类,而且还能保持原有的javaScript的风格。
ECMAScript5标准发布于2009年12月3日,它带来了一些新的,改善现有的Array数组操作的方法。(注意兼容性)
在ES5中,一共有9个Array方法:
下面列举了其中的7种方法,前5种方法很常见,很多开发者都会用到:
1、indexOf()@H_502_13@
indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1。
2、filter()@H_502_13@
该filter()方法创建一个新的匹配过滤条件的数组。
不用 filter() 时:@H_502_13@
用了 filter():
@H_502_13@
3、forEach()@H_502_13@
forEach为每个元素执行对应的方法,是用来替换for循环的。
4、map()@H_502_13@
map()对数组的每个元素进行一定操作(映射)后,会返回一个新的数组。
使用map()方法:@H_502_13@
5、reduce()@H_502_13@
reduce()可以实现一个累加器的功能,将数组的每个值(从左到右)将其降低到一个值。也可以理解为:让数组中的前项和后项做某种运算,并累积最终值;
场景: 统计一个数组中有多少个不重复的单词;
使用reduce()后:
@H_502_13@
输出结果:
// Object {apple: 2,pear: 1}
6 、array.some(callback[,thisObject]);@H_502_13@callback : 函数用来测试某些元素。@H_502_13@
thisObject: 对象作为该执行回调时使用。
检测数组中是否有某些项符合条件;
7、array.every(callback[,thisObject]);@H_502_13@callback : 函数用来测试每个元素。thisObject: 对象作为该执行回调时使用。
检测数组中每一项是否符合条件;
通过以上实例给大家介绍了ECMAScript5中新增的Array方法,希望对大家有所帮助!