美文网首页
slice()、splice()和split()、substri

slice()、splice()和split()、substri

作者: darkTi | 来源:发表于2019-03-12 22:03 被阅读0次

    slice()和splice()是作用于数组的(字符串中也有slice);split()、substring()和substr()是作用于字符串的

    一、用于数组

    1. slice [slaɪs] vt. 切片,划分,切下;
    • slice()方法和splice()方法都是原生js中对数组操作的方法。
    • slice(),返回一个新的数组,不会改变原有数组,该方法可从已有的数组中返回选定的元素。
      它的参数只有start是必须的!!!直接到尾部
      ①例如:arrObject(start,end),start是必选的。规定从何处开始选取,如果是负数,则是从数组元素尾部选取,也就是说-1指最后一个元素,-2指倒数第二个元素;
      ②end是可选元素。规定从何处结束选取。结束到end的前一位;该参数没有,表示从开始位置截取到数组末尾,如果是负数,表示从数组末尾向前截取元素。该方法不会修改原数组,如果想删除数组中某一段元素,使用splice()方法。
    var a = [1,20,15,88,66,50,90]
    console.log(a.slice(2,4))  // [15, 88]
    console.log(a)  // [1,20,15,88,66,50,90] 数组a不变
    
    1. splice vt. 捻接(两段绳子);粘接,胶接;
    • splice(),数组中添加/删除元素,该方法会改变原始数组。例如:
      语法:arrayObject.splice(index,howmany,item1,.....,itemX)。
      它的参数indexhowmany是必须的!!!
      ①index是必选的,规定添加/删除项目的位置。
      ②howmany必须项,表示删除项目的个数,如果为0表示不删除元素。splice()可删除从index开始的howmany个元素,并可以用item元素替代删除的元素。
      ③item可选参数,表示新添加的项,没有此项表示不添加新项。
    var a = [1,20,15,88,66,50,90]
    console.log(a.splice(2,3))  //[15, 88, 66]
    console.log(a)  //[1, 20, 50, 90]  数组a被剪掉了一截,剩下另一截
    

    二、用于字符串

    1. split()
    • split [splɪt] vt. 分裂,分开;
    • 语法:stringObject.split(separator,howmany)
    • 含义:把一个字符串分割成字符串数组:
      separator:必需。字符串或正则表达式,从该参数指定的地方分割 stringObject;
      ②howmany:可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
    • 注意:如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割,例如下图中的例子!
    image.png
    1. substring()
      它的参数只有start是必须的!!!
      stringObject.substring(start,stop)方法用于提取字符串中介于两个指定下标之间的字符;返回的子串包括 start 处的字符,但不包括 stop 处的字符(到stop索引值前一位)。

    start:必需。一个非负的整数,规定要提取的子串的第一个字符在stringObject 中的位置;
    stop:可选。一个非负的整数,字符串下标,结束符是不包括该下标的。比如substring(0,3),那就是从下标0开始,截取到下标为3的前一位(不包括下标为3的那个字符);
    如果不写此项,则返回的子串会一直到字符串的结尾。(如果从0开始截取时,那么此值可暂表示为截取的字符串的长度);
    如果参数 start 与 stop 相等,那么该方法返回的就是一个空字符串;
    参数不接受负值;

    1. substr()
    • 语法:substr(start , length )
    • 含义: substr 方法用于返回一个从指定位置开始的指定长度的子字符串
    • 截取直接长度的字符串。substr(2,3),从下标为2开始,截取长度为3的字符串。而substring(2,3),则是从下标为2开始,截取到下标为3的前一位的字符串,也就是截取1位字符。
    1. slice()substring()一样
    var a = 'nct wayv'
    
    var a1 = a.substring(0,5)  //start和end
    
    var a2 = a.substr(0,2)  // start和length
    
    var a3 = a.slice(0,5)  //start和end
    
    console.log(a1,'a1')   //nct w a1
    console.log(a2,'a2')  //nc a2
    console.log(a3,'a3')  //nct w a3   可见substring和slice结果是一样的
    

    相关文章

      网友评论

          本文标题:slice()、splice()和split()、substri

          本文链接:https://www.haomeiwen.com/subject/eotruqtx.html