• slice、splice与split傻傻分不清


      

      每每看到这几个,就蒙圈了,这都是啥呀?

      

      既然这么容易混淆,我还是来做个小笔记吧,以便日后查阅:

      

      1.slice(数组)

      定义:slice() 方法可从已有的数组中返回选定的元素。  

      用法:array.slice(start,end)

      解释:该方法是对数组进行部分截取,并返回一个数组副本;参数start是截取的开始数组索引,end参数等于你要取的最后一个字符的位置值加上1(可选)。slice() 方法不会改变原始数组。

      //如果不传入参数二,那么将从参数一的索引位置开始截取,一直到数组尾

      var a=[1,2,3,4,5,6];

      var b=a.slice(2,4);  //[3,4]

      var c=a.slice(3);    //[4,5,6]

     

     

      //当只传入一个参数,且是负数时,length会与参数相加,然后返回其后的数组部分。如:   
      var a=[1,2,3,4,5,6];   
      var b=a.slice(-1);   //[6] 。即-1+6=5,返回索引5及以后的数组部分  

      //当只传入一个参数,是负数时,并且参数的绝对值大于数组length时,会截取整个数组   
      var a=[1,2,3,4,5,6];   
      var b=a.slice(-6); //[1,2,3,4,5,6] 。-6+6=0,返回索引0及以后的数组部分  
      var c=a.slice(-8); //[1,2,3,4,5,6]   

      //当传入两个参数一正一负时,length也会先于负数相加后,再截取   
      var a=[1,2,3,4,5,6];   
      var b=a.slice(2,-3); //[3]
      
      //当传入一个参数,大于length时,将返回一个空数组   
      var a=[1,2,3,4,5,6];   
      var b=a.slice(6);  //[]

     

     

      2.slice(字符串)

      定义:slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

      用法:string.slice(start,end)

      解释:slice方法复制string的一部分来构造一个新的字符串,用法与参数匀和数组的slice方法一样;end参数等于你要取的最后一个字符的位置值加上1

      //举个简单的例子

      var a="i am a boy";

      var b=a.slice(0,6);  //"i am a"

     

      3.splice(数组)

      用法:array.splice(start,deleteCount,item...)

      解释:splice方法从array中移除一个或多个数组,并用新的item替换它们。参数start是从数组array中移除元素的开始位置。参数deleteCount是要移除的元素的个数。注意:splice方法会改变原始数组

      如果有额外的参数,那么item会插入到被移除元素的位置上。它返回一个包含被移除元素的数组。

      //举一个简单的例子

      var a=['a','b','c'];

      var b=a.splice(1,1,'e','f');  //a=['a','e','f','c'],  b=['b']

     

      4.split(字符串)

      用法:string.split(separator,limit)

      解释:split方法把这个string分割成片段来创建一个字符串数组。可选参数limit可以限制被分割的片段数量。separator参数可以是一个字符串或一个正则表达式。如果

      separator是一个空字符,会返回一个单字符的数组。

      //再举一个简单的例子

      var a="0123456";

      var b=a.split("",3);  //b=["0","1","2"]

  • 相关阅读:
    【iCore3 双核心板】例程九:ADC实验——电源监控
    【iCore3 双核心板】例程八:定时器PWM实验——呼吸灯
    【iCore3双核心板】扩展引脚分布
    【iCore3 双核心板】例程七:WWDG看门狗实验——复位ARM
    【iCore3 双核心板】例程六:IWDG看门狗实验——复位ARM
    【iCore3 双核心板】例程五:SYSTICK定时器实验——定时点亮LED
    【iCore3 双核心板】例程四:USART通信实验——通过命令控制LED
    【iCore3 双核心板】例程三:EXTI中断输入实验——读取ARM按键状态
    【iCore3 双核心板】例程二:读取arm按键状态
    【iCore3 双核心板】例程一:ARM驱动三色LED
  • 原文地址:https://www.cnblogs.com/jf-67/p/6500616.html
Copyright © 2020-2023  润新知