数组操作方法(包括es6数组的操作方法)[通俗易懂]

数组操作方法(包括es6数组的操作方法)[通俗易懂]//(1)push()//向数组最里面推一个或多个数据vararr=[“色”,”等”,”烟”,”雨”];arr.push(“而”,’我’,”在”);console.log(arr);//(2)unshift()//在数组的开头添加一个或多个数据vararr=[“色”,”等…

大家好,又见面了,我是你们的朋友全栈君。

//(1)push()
        //向数组最里面推一个或多个数据
        var arr=[“色”,”等”,”烟”,”雨”];
        arr.push(“而”,’我’,”在”);
        console.log(arr);

     数组操作方法(包括es6数组的操作方法)[通俗易懂]

    //(2)unshift()
     // 在数组的开头添加一个或多个数据
     var arr=[“色”,”等”,”烟”,”雨”];
     arr.unshift(“天”,”青”);
     console.log(arr);

数组操作方法(包括es6数组的操作方法)[通俗易懂]
    
    
    //(3)pop()
       //在数据的尾部删除一个数据
        var arr=[“色”,”等”,”烟”,”雨”];
     arr.pop();
     console.log(arr);

 数组操作方法(包括es6数组的操作方法)[通俗易懂]
      

//(4)shift()
     // 在数组的开头删除一个数据

var arr=[“色”,”等”,”烟”,”雨”];
     arr.shift();
     console.log(arr);
    
    数组操作方法(包括es6数组的操作方法)[通俗易懂]
    
    //(5)splice()
    /* arr.splice(参数1,参数2,参数3,参数4,参数5,….参数n);
       参数1表示要删除的开始位置,
       参数2表示删除的个数,
       参数3,参数4,参数5,….参数n,表示在删除位置添加的字符 */

      var arr=[“色”,”等”,”烟”,”雨”];
     arr.splice(1,2,”周”,”杰”,”伦”);
    console.log(arr);

     数组操作方法(包括es6数组的操作方法)[通俗易懂]
    
    
    //(6)concat()
     // 把两个或多个数组连接成一个数组
    var  a=[“八”,”百”,”标”,”兵”,”奔”,”北”,”坡”];
    var  b=[“炮”,”兵”,”并”,”排”,”北”,”边”,”跑”];
    var  c=[“炮”,”兵”,”怕”,”把”,”标”,”兵”,”碰”];
    var  d=[“标”,”兵”,”怕”,”碰”,”炮”,”兵”,”炮”];

    console.log(a.concat(b));  //连接两个数组

数组操作方法(包括es6数组的操作方法)[通俗易懂]
  

 console.log(a.concat(b,c,d)); //连接多个数组
    数组操作方法(包括es6数组的操作方法)[通俗易懂]

  

 //(7)sort()
         //数组排序方法,默认是按照字符编码逐个字符进行排序
    var  num=[52,51,6,8,42,25];
    console.log(num.sort());
    
   num=num.sort(function(a,b){

        return a-b; //升序排列
    })
     console.log(num);
    num=num.sort(function(a,b){

        return b-a; //降序排列
    })
     console.log(num);

结果分别为:

数组操作方法(包括es6数组的操作方法)[通俗易懂]
 

//(8)join()
     // 按照我们特定的方式(指定字符)把数组转化成字符串
       var arr=[“色”,”等”,”烟”,”雨”];
    console.log(typeof  arr.join(“”));
    console.log(arr.join(“”));
    console.log(arr.join(“*”));

    结果分别为:

数组操作方法(包括es6数组的操作方法)[通俗易懂]

    //(9)split()
    //把字符串转化成数组(按照指定的字符进行分割)
    
    var str=”天晴这-等烟-雨”;
        console.log(str.split(”))
        console.log(str.split(‘-‘))    

结果分别为:

数组操作方法(包括es6数组的操作方法)[通俗易懂]

/(11)Array.isArray()    判断数据是否是数组

    console.log(Array.isArray([2,3]));
    console.log(Array.isArray((1)));
    数组操作方法(包括es6数组的操作方法)[通俗易懂]
    
/*     (12)forEach() 
     用于遍历我们的数组,对数组中的每一个元素进行操作,没有返回值
     数组.forEach(function(value,index,arr){

         
     })
     value就是指数组的元素,index指下标。
     arr指当前的数组,这个不常用
      
      */
     
     var score=[26,35,85,45,90,100];
     
    // 打印每个人的序号和分数
     
     score.forEach(function(el,index){

          console.log(index+”—–“+(el+10));
     })
     结果为:

数组操作方法(包括es6数组的操作方法)[通俗易懂]
    
  

/* (13)Map()

 作用: 对数组进行遍历,进行某个操作,然后返回一个新的数组,
    格式:
    数组.map(function(value,index,arr){

              操作
    })
    
    注意:
     (1)在回调函数中,一定要有返回值
     (2)map方法调用之后,会返回一个全新的数组,原来的数组不变 */
      var score=[26,35,85,45,90,100];
     var score2=score.map(function(val,index){

          return val+30;
     })
     
     console.log(score2);
     数组操作方法(包括es6数组的操作方法)[通俗易懂]
     
    /* (14) filter()  
      作用: 用于进行过滤,筛选出符合条件的元素,组成一个新的数组返回,
      
      格式:
      数组.filter(function(value,index,arr){

          
      })
     
    基本上和map是差不多的 */
    
     var score=[26,35,85,45,90,100];
    var arr=score.filter(function(value,index){

          return value>60;
    })
    
    console.log(arr);
        数组操作方法(包括es6数组的操作方法)[通俗易懂]
            
    /* (15)reduce()
        本意:缩减,减少的意思,
    作用: 将前一项和后一项的值进行运算,返回累积的结果. 
    
    格式:
            数组.reduce(function(prev,next){

                ……
            })
            
    prev 表示前一项,next表示后一项
    
    运算规则:
            默认情况下,会把数组的第一个元素作为prev的初始值. 
            每循环一次,把累积的结果赋值给prev,next就变为下一个
            数组元素 */
    
    var  arr=[1,2,3,4,5];
    
    var sum=arr.reduce(function(prev,next){

         return  prev+next;
    })
            
    console.log(sum);    //结果是:15
        
        var sum=arr.reduce(function(prev,next){

            console.log(prev +”—-“+next);
            return  prev+next;
        })    
        
        console.log(sum);
            
            数组操作方法(包括es6数组的操作方法)[通俗易懂]
        
  

 /* (16)some()
        作用: 只要数组中的某一个元素符合指定的条件,就返回真,
                 否则返回假,可以和逻辑运算符或(||)类比
    
    格式:
            数组.some(function(value,index,arr){….}) */
            
    var pass=score.some(function(value,index){

        return value<60;
    })            
    
    console.log(pass); //结果为:true
    
    /* (17)every()
         作用:如果数组中所有的元素都符合指定的条件,才返回true,否则返回false ,
              可以个逻辑运算符与(&)类比
      格式:
              数组.every(function(value,index,arr){….}) */
            
            
        var pass=score.every(function(value,index){

            return value<60;
        })            
        
        console.log(pass);    //结果为false
      //(18)类数组
     //Array.from() 把类数组转化为数组
    var obj={

          0:”a”,
          1:”b”,
          2:’c’,
          3:’d’,
          length:4
    }        
    console.log(Array.isArray(obj));  //结果为false
        obj=Array.from(obj);
        console.log(obj);                       //结果为[“a”,”b”,”c”,”d”]
    console.log(Array.isArray(obj));    //结果为true          

 

//(19)
    //new Array()这种方式声明的数组表现不统一,有缺点
     var a1=new Array();
    var a2=new Array(3);  
    var a3=new Array(‘3’);  
    var a4=new Array(3,4);  
    console.log(a1)
    console.log(a2)
    console.log(a3)
    console.log(a4)
    数组操作方法(包括es6数组的操作方法)[通俗易懂]
  

 //使用Array.of之后,表现就统一了,都是定义数组的元素
    var a1=Array.of(); //0
    var a2=Array.of(3); //1
    var a3=Array.of(‘3’);//1
    var a4=Array.of(3,4);

    console.log(a1)
    console.log(a2)
    console.log(a3)
    console.log(a4)

数组操作方法(包括es6数组的操作方法)[通俗易懂]

/* (20)find:用于查找某个元素,如果找不到undefined;
       findIndex:用于查找某个元素的索引,如果找不到就返回-1
       其用法和map,foreach差不多 */
       
      

 var  goods=[
                {
                    id:100,
                    name:'奥迪A8',
                    price:88.8
                },
                {
                    id:101,
                    name:'宝马x6',
                    price:98
                },
                {
                    id:102,
                    name:'奔驰s600',
                    price:130
                },
       ]
    
      //find
    var car=goods.find(function(item,index){
        return item.name=='宝马x6'
    })
    
    console.log(car);    // 结果为:    {id: 101, name: "宝马x6", price: 98}
    //findIndex
            var idx=goods.findIndex(function(item,index){
                return item.id==103;
            })
        
        console.log(idx); //结果为-1

    /* (21)fill
        作用:给数据填充指定的值,
        格式:数组.fill(值)
        一般是在实例化一个数组之后进行填充的 */
        
    var a1=new Array(5);
        a1.fill(‘es6’);
        
        console.log(a1); //结果为:[“es6”, “es6”, “es6”, “es6”, “es6”]
        
        //如果数组本身有内容,会被覆盖
    var a2=[2,3,4,5];
        a2.fill(100);
        console.log(a2); // [100, 100, 100, 100]
        
    //在我们填充的时候,可以通过第二个参数和第三个参数来指定填充的起止位置,包括开始位置不包括结束位置
    var a2=[2,3,4,5];
      a2.fill(100,1,2);
      console.log(a2);//结果为:[2, 100, 4, 5]
    
    
    //(5)数组的扩展运算符(延展运算符,展开运算符)…
    
       var obj2={

             0:”a”,
             1:”b”,
             2:’c’,
             3:’d’,
             length:4
       }        
          var a3=[…obj2];  // 把类数组转化数组
       console.log(a3);   //结果为
      
      var  a3=[1,2,3];
      var  a4=[4,5,6];
      //相当于concat方法
      console.log([…a3,…a4]);  // 结果为:[“a”, “b”, “c”, “d”]
      

//(22)set
         //新的格式   自动去除重复的项
       var setobj=new Set([1,2,1,3,4,3,56]);
       console.log(setobj);                   //结果为:{1, 2, 3, 4, 56}
      console.log(Array.from(setobj)); //结果为:[1, 2, 3, 4, 56]
      
    /* (23)indexof ===
         查看数组中是否包含某一项,是就返回下标,否则返回-1 */

    var  colors=[‘orange’,’pink’,’purple’,’aqua’,’black’,”pink”];
          
          console.log(colors.indexOf(‘pink’));  //1
           console.log(colors.indexOf(‘pi’));   //-1
    
    //(24)includes
       // 返回的是一个布尔值:true or  false           
      console.log(colors.includes(“aqu”)); //false

    /* 小结:请列举出js中常用的数组方法:
     push pop unshift sort slice splice reverse join concat 
     forEach Map filter reduce some every find findIndex
     fill Array.isArray  Array.from  Array.of */

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137965.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号