JavaScript中的slice,splice,substr,substring,split的区别

2023-04-27,,

万恶的输入法,在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('',));//["a", "b", " "]
console.log(str);//ab c e f g
console.log(str.split(' '));//["ab", "c", "e", "f", "g"]
console.log(str.split(''));//["a", "b", " ", "c", " ", "e", " ", "f", " ", "g"]
console.log(str.split('',));//["a", "b", " "]

JavaScript中的slice,splice,substr,substring,split的区别的相关教程结束。

《JavaScript中的slice,splice,substr,substring,split的区别.doc》

下载本文的Word格式文档,以方便收藏与打印。