数组操作方法(包括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)


相关推荐

  • windows下 python中报错ImportError: No module named ‘requests’

    windows下 python中报错ImportError: No module named ‘requests’

    2021年10月28日
  • linux如何生成csv文件怎么打开,CSV文件扩展名 – 什么是.csv以及如何打开? – ReviverSoft…

    linux如何生成csv文件怎么打开,CSV文件扩展名 – 什么是.csv以及如何打开? – ReviverSoft…你在这里因为你有,有一个文件扩展名结尾的​​文件.csv.文件与文件扩展名.csv只能通过特定的应用程序推出。这有可能是.csv文件是数据文件,而不是文件或媒体,这意味着他们并不是在所有观看。什么是一&nbsp.csv&nbsp文件?存储在CSV格式内容请参考所附的与数据文件的.csv延伸,这些CSV文件中也被称为逗号分隔值的文件。在贴有一个文件中的“CSV”的.cs…

  • java 自定义异常

    java 自定义异常

  • WebService简单案例实例

    WebService简单案例实例本周工作日即将结束,下周项目经理安排了一项任务可能需要使用到webservice,但本人之前尚未使用过,网上查了一些案例看了看在此小记一篇留作日后回首也希望可以帮助到查看者朋友1、什么是WebService?WebService是一种远程调用技术,也叫XMLWebServiceWebService,是一种可以接收从Internet或者Internet上的其他系统中传递过来的请求,轻量级的独…

  • 【开发经验】java socket编程详解

    【开发经验】java socket编程详解前言​ 在大多数的java项目中,使用开发者直接使用socket的场景并不多。但是目前众多框架的底层中,都会有socket的身影。此示例一下java原始的socket编程,并通过telnet进行通讯。1、功能实现如上图所示,主要实现服务器开启服务,每个客户端链接时都分配一个新的线程与其通讯。2、服务端代码:importjava.io.InputStream;importjava.net.ServerSocket;importjava.net.Socket;importjava.u

  • oracle删除索引并释放空间_oracle日志文件 定期清理

    oracle删除索引并释放空间_oracle日志文件 定期清理1.背景概述近期应用升级上线过程中,存在删除业务表索引的变更操作,且因删除索引导致次日业务高峰时期,数据库响应缓慢的情况,经定位是缺失索引导致。与用户沟通,虽然变更中删除索引的需求很少,但也存在此类需求。本文从数据库层面,旨在尽可能避免类似问题发生,制定删除索引的变更规范。2.索引删除规范若确认需要做索引删除,可以使用Oracle提供的两个功能特性协助判断删除索引是否会有隐患。2.1增加索引监控…

发表回复

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

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