你的位置:首页 > Java教程

[Java教程]JavaScript中的slice,splice,substr,substring,split的区别


万恶的输入法,在sublime中会显示出繁体字,各位看官见谅。

1.slice()方法:该方法在数组和string对象中都拥有。

var a = [1,2,3,4,5,6];    var s = 'this is a string';    console.log(a.slice(1,3));//結果為 [2,3];    console.log(a.slice(-1);//結果為6;    console.log(s.slice(1,3));//結果為 hi;    console.log(s);//結果為 this is a string;    //obj.slice(i,j);其中i為必須,其為從何處開始截取。如果為負數的話,那麼將會從尾數開始截取,-1指倒數一個,-2表示倒數第二個    //同時j為選填項,是數組片段結束處的數組下標。如果為負數,則從尾部算起。    console.log(a);//[1,2,3,4,5,6],注意該方法並不會修改數組,而是返回一個子數組。

2.splice()方法:非常强大的一个数组删改方法。与slice相比,其会改变数组本身

var a = [1,2,3,4,5,6];    console.log(a.splice(2));//[3, 4, 5, 6]    //splice(i,j,item)其中i為必須,其為從何處開始截取。如果為負數的話,那麼將會從尾數開始截取    //其中j必填項,為要截取的項目數量,為0的話,那麼其不會對數組進行刪改,    var b = [2,6,8,5,7];    console.log(b.splice(2,0,5,6,7));//  []    console.log(b);//[2, 6, 5, 6, 7, 8, 5, 7]    //splice()會返回被刪除的項目;

3.substr()方法

var str = 'this is a string';    console.log(str.substr(2,3));//is    console.log(str);//this is a string    //substr()用於返回一個從指定位置開始的指定長度的子字符串    //substr(i,j);i必須,所需的子字符串的起始位置,字符串中的第一個字符串。    //j為返回字符串中包含的字符個數,注意:如果i為負數,那麼i=str.length+i;如果j為負數,則返回一個空字符串。    //其不會改變字符串本身;

由于ECMAscript中并没有将这个进行标准化,所以不推荐使用这个

4.substring()

var str = 'abcdefg';    //其返回一個包含i,不包含end的子串    //substring(i,j) i為必須,如果i=j,則返回一個空串,    console.log(str.substring(5,1));//bcde    //如果i<j,那麼在提取子串之前會先交換這兩個參數,    console.log(str);//abcdefg    //如上面可見,substring不會對字符串進行刪改    console.log(str.substring(-4));//abcdefg    console.log(str.substring(3,-1));//abc    //如果i或j為負數,那麼它將被替換成0

5.split()方法:

var str = 'ab c e f g';    console.log(str.split('',3));//["a", "b", "c"]    console.log(str);//abcdefg    console.log(str.split(' '));//["a", "b", "c", "e", "f", "g"]    console.log(str.split(''));//["a", "b", " ", "c", " ", "e", " ", "f", " ", "g"]    console.log(str.split('',3));//["a", "b", " "]