欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaScript数组最常见方法,你一定要知道!

程序员文章站 2022-07-07 17:37:33
...

JavaScript数组最常见方法

今天给大家分享几种数组Array常见的方法:
为了方便理解,我把几种方法进行了分类,主要分为两大类,一类为会修改原数组,一类为不会修改原数组,两大类中又根据不同功能依次排列。
首先,我们先看会使原数组发生改变的数组方法:
## push():
数组末尾新增一个或多个元素,并返会该数组的长度。

var arr = [1,2,3];
          var newarr = arr.push(4);
          console.log(arr);             // [1,2,3,4]
          console.log(newarr);      // 4

## pop():
数组最后一位删除,并返会被删除的元素。

var arr = [1,2,3];
          var newarr = arr.pop();
          console.log(arr);   //[1,2]
          console.log(newarr);   //[3]

## unshift():
数组第一位新增,并返会数组的新长度。

var arr = [1,2,3];
          var newarr = arr.unshift(0);
          console.log(arr);    //[0,1,2,3]
          console.log(newarr);   //4

## shift():
数组第一位删除,并返会删除的元素。

var arr = [1,2,3];
          var newarr = arr.shift();
          console.log(arr);     //[2,3]
          console.log(newarr);  //[1]

splice(index1,index2,a):
删除或替或者添加新的元素来修改数组,并以数组形式返回被修改的内容
(从index1开始,删除index2个,并添加a元素)
下面的案例可以看出,数组从1开始,删除2个,所以“red”和“black”被删除,同时将“yellow”进行添加。不过我们也可以发散思维,将前两个数值设置成0,可以对数组进行添加工作。

var arr = ["blue","red","blck","pink"];
          var newarr = arr.splice(1,2,"yellow");
          console.log(arr);   // [ "blue", "yellow", "pink" ]
          console.log(newarr);   //[ "red", "blck" ]
var arr = ["blue","red","blck","pink"];
          var newarr = arr.splice(0,0,"yellow");
          console.log(arr);//[ "yellow", "blue", "red", "blck", "pink" ]
          console.log(newarr);//[]

sort():
对数组进行排序,排序方式是将元素转换成字符串并按照Unicode的位点进行排列。

var arr = [34,656,3,5,7,1,0];
          var newarr = arr.sort();
          console.log(arr);  // [ 0, 1, 3, 34, 5, 656, 7 ]
          console.log(newarr);// [ 0, 1, 3, 34, 5, 656, 7 ]

reverse():
将数组进行翻转,并且返回新数组

var arr = [1,2,3,4];
          var newarr = arr.reverse();
          console.log(arr);
          console.log(newarr); //[ 4, 3, 2, 1 ]

下面的是不会影响原数组的一些数组方法:
slice(index1,index2):
返回一个新的数组对象,这一对象是一个由index1 和index2 决定的原数组的浅拷贝(包括 index1,不包括index2)。
实现方法即为,从index1进行选取,到index2结束。有关浅拷贝的内容会在后面的文章分享,可以理解为截取。

 var arr = [1,2,3,4];
          var newarr = arr.slice(1,4);
          console.log(arr);
          console.log(newarr);  //[2,3,4]

toString():
将数组转成字符串并返回。

var arr = [1,2,3,4];
          var newarr = arr.toString();
          console.log(newarr); //1,2,3,4

join():
将数组所有元素连接成一个字符串并返回这个字符串。如果数组只有一个元素,那么将返回该元素而不使用分隔符。
从这里我们可以总结出:可以将数组转换成字符的方法有两种即:join和toString

var arr = [1,2,3,4];
          var newarr = arr.join("-");
           var newarr1 = arr.join("");
          console.log(newarr);//1-2-3-4
          console.log(newarr1);//1234

下面是有关 ES5的数组方法集合
indexOf(searchelement,num):
通过indexOf我们可以查找相应元素的索引,根据num数值我们也可以固定从某个位置开始查找,当数组内找不到该元素是就返回“-1”。利用这一特性我们可以多个操作,比如数组查重。

 var arr = [1,2,3,4];
          var newarr = arr.indexOf(2);
          var newarr1 = arr.indexOf(8);
          console.log(newarr);  //1
          console.log(newarr1);  //-1

lastindexOf(searchelement,num):
反向数组查找,从数组的末位开始查找,但返回的索引仍是正序的。

var arr = [1,2,3,4];
          var newarr = arr.lastIndexOf(3);
          console.log(newarr);//2

forEach(callback):
遍历数组的专属方法,回调函数内含有三个值分别:function(vaule,index,self){ }vaule:值,index:索引,self:数组本身。在函数内对三个值进行操作可以实现相应的功能。其返回值为undefind

 var arr = [1,2,3,4];
          var newarr = arr.forEach(function (vaule,index,self){
                 console.log(vaule,index,self);
          });
           //1 0 Array(4) [ 1, 2, 3, 4 ]
          //2 1 Array(4) [ 1, 2, 3, 4 ]
         //3 2 Array(4) [ 1, 2, 3, 4 ]
        //4 3 Array(4) [ 1, 2, 3, 4 ]         

filter(callback):
数组条件筛选,filter同forEach一样,需要利用回调函数,仅当函数的返回值为true时才会将遍历到的值放到新数组中,若返回值为false则跳过。

var arr = ["red","black","pink","green"];
          var newarr = arr.filter(function (vaule,index,self){
               return vaule.length >4   //true
          });
          console.log(newarr);   //[ "black", "green" ]
var arr = ["red","black","pink","green"];
          var newarr = arr.filter(function (vaule,index,self){
               return typeof vaule == "number"   //false
          });
          console.log(newarr);   //[]

map(callback):
map方法可以用来获取数组中的数据,操作,并返回成新数组

var arr = ["red","black","pink","green"];
          var newarr = arr.map(function (vaule,index,self){
               return vaule +"haha"   
          });
          console.log(newarr);//[ "redhaha", "blackhaha", "pinkhaha", "greenhaha" ]

今天分享的内容就到这里啦,不知道今天的案例,是否能帮到您呢?列举的案例大都是基础内容,想要熟练掌握还要勤加练习,时间匆忙,如有不足之处还请博友可以不吝赐教。

相关标签: JavaScript 学习