ES5新增数组的方法
Posted xushipobk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES5新增数组的方法相关的知识,希望对你有一定的参考价值。
1、Array.indexof(value1,value2)
Tip:用于返回某个数组或字符串中规定字符或者字符串的位置。
(1)当Array.indexof(value1);里面只有一个值的时候,表示value1在arr数组里面的我们想要得到查找的值。
var arr = [11,12,13,14,15,16,"hello",17]; var i = arr.indexOf(13);//表示13在数组中的索引 var a = arr[i];//在下面我们console.log我们可以看到这个值是否对应数组中一开始我们所想要的索引数 console.log(i)//2 console.log(a)//13
(2)当Array.indexof(value1,value2);第一个值(value1)表示我们想要在数组中查找的值,第二个值(value2)表示我们
我们想要从第几个位置去查找这个值;
var arr = [11,12,13,14,13,16,"hello",17]; var i = arr.indexOf(13,3);//我们是从第三个数开始在这个数组中从左到右中去找这个数。 var a = arr[i];//13 console.log(i)//4 从第三个值开始查到到的这个value1的第一个值,前三个数不会识别,直接跳过,进行查找。 console.log(a)//13
(3)当Array.indexof()的括号里面不管时一个值还是两个值,若这个值不在我们的这个数组里面返回值都是-1.
var arr = [11,12,13,14,13,16,"hello",17]; var a = arr.indexOf(20);//数组中没有这个值 var i = arr.indexOf(21,2);//数组zhong console.log(i)//-1 console.log(a)//-1
(4)用Array.indexof()方法中-1特性写一个去重案例
var arr = [1,1,2,"hello","yes","yes",2]; function Arrayeighting(arr) var newArr = [];//定义一个新数组,一会将用于indexof -1特性判断,判断有没有某个值 for(var i = 0;i<arr.length;i++)//遍历老数组 if(newArr.indexOf(arr[i])==-1)//判断新创建的数组中有没有老数组中的这个数 newArr.push(arr[i]);//当indexof返回值为-1就没有这个数,我们就添加这个数 return newArr;//返回给函数,一个封装函数,随时都可以去调用。 console.log(Arrayeighting(arr))// [1, 2, "hello", "yes"]
2、Array.forEach()
Tip:循环或遍历数组
var arr = [11,12,13,14,13,16,"hello",17]; arr.forEach(function (value,index,self) console.log(value,index,self) )
//value表示数组里面的数值
//index表示改数值在数组中的位置(索引)
//self表示的是当前数组。(arr)
3、Array.map()
Tip:类似于forEach,会遍历所有的数组,返回当前方法返回值。map不会改变原有数组,而是将函数执行一次之后的返回值组成一个新的数组,返回出来。
demo:将原来的数组扩大1.5倍
var arr = [11,12,13,14,13,16,17]; var a = arr.map(function (val) return val*=1.5;//不会改变原有数组,并会返回一个新的数组。 ) console.log(a)
//value表示数组里面的数值
//index表示改数值在数组中的位置(索引)
//self表示的是当前数组。(arr)
4、Array.filter ()
都同上一样,筛选数组中的所有项,当条件为tuer的时候才回返回该数据,当条件为false时返回的是一个空数组。
var arr = [11,12,13,14,13,16,17]; var a = arr.filter(function (value) return value>14;判断的条件 ) console.log(a)//[16.17]
以上是关于ES5新增数组的方法的主要内容,如果未能解决你的问题,请参考以下文章