介绍
这篇文章主要讲解了如何实现ES5新增数组,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
Array.isArray ()//Array.isArray方法返回一个布尔值,表示参数是否为数组。//它可以弥补typeof运算符的不足。 var arr=(1、2、3); 控制台。日志(typeof arr);//皁bject" Array.isArray (arr)//真实的//上面代码中,typeof运算符只能显示数组的类型是对象,//而数组。isArray方法可以识别数组。
地图方法将数组的所有成员依次传入参数函数,然后把每一次的执行结果组成一个新数组返回。
[1,2,3]。地图(函数(elem指数arr) { 返回elem *指数; });//(0,2,6)//上面代码中,映射方法的回调函数有三个参数,elem为当前成员的//值指数为当前成员的位置,arr为原数组([1,2,3])
forEach方法与地图方法很相似,也是对数组的所有成员依次执行参数函数。但是,forEach方法不返回值,只用来操作数据。这就是说,如果数组遍历的目的是为了得到返回值,那么使用地图方法,否则使用forEach方法。
forEach的用法与地图方法一致,参数是一个函数,该函数同样接受三个参数:当前值,当前位置,整个数组。
函数日志(elem、索引数组){ console.log (& # 39; [& # 39;+指数+ & # 39;]=& # 39;+ elem); } (2、5、9).forEach(日志);//[0]=2//[1]=5//[2]=9
注意:forEach方法无法中断执行,总是会将所有成员遍历完。如果希望符合某种条件时,就中断遍历,则要使用的循环。
arr var=(1、2、3); (var=0;我& lt;arr.length;我+ +){ 如果(arr[我]===2)休息; console.log (arr[我]);//1 }
过滤方法用于过滤数组成员,满足条件的成员组成一个新数组返回;
它的参数是一个函数,所有数组成员依次执行该函数,返回结果为真正的成员组成一个新数组返回;
该方法不会改变原数组;
过滤方法的参数函数可以接受三个参数:当前成员,当前位置和整个数组。
//过滤方法的参数函数可以接受三个参数:当前成员,当前位置和整个数组。 var res=[1、2、3、4、5)。过滤器(函数(elem指数arr) { 回报指数% 2===0; }); console.log (res);//(1、3、5)//上面代码返回偶数位置的成员组成的新数组。
减少方法依次处理数组的每个成员,最终累计为一个值.reduce是从左到右处理(从第一个成员到最后一个成员)
减少方法参数是一个函数,该函数接受以下两个参数。
1累积变量,默认为数组的第一个成员
2当前变量,默认为数组的第二个成员
var=[& # 39;一个# 39;& # 39;b # 39;, & # 39; c # 39;]; a.indexOf (& # 39; b # 39;);//1 a.indexOf (& # 39; y # 39;);//1//indexOf方法还可以接受第二个参数,表示搜索的开始位置。 [& # 39;一个# 39;& # 39;b # 39;, & # 39; c # 39;] .indexOf(& # 39;一个# 39;,1);//1//上面代码从1号位置开始搜索字符,结果为1,表示没有搜索到。
lastIndexOf方法返回给定元素在数组中最后一次出现的位置,如果没有出现则返回1;
lastIndexOf方法的用法跟indexOf方法一致,主要的区别lastIndexOf从尾部开始匹配,indexOf则是从头部开始匹配。
另外,lastIndexOf的第二个参数表示从该位置起向前匹配。