關於substring、substr、slice及splice的區別

1、關於substring()
substring(start,stop)表示返回從start開始到stop處之間的新字符串,其長度爲stop減 start。包含start,但不包含stop,且不修改原字符串。這一點與slice的含頭不含尾相近。例如:數組

var str = "0123456789";
console.log(str.substring(2,6))//"2345"
console.log(str.substring(0,9),str)//"012345678"  "0123456789"

其中start是必填項,stop爲選填項,若是stop不填 那麼將返回是start到字符串結尾。例如:code

var str = "0123456789";
console.log(str.substring(2))//"23456789"

2、關於substr()
substr(start,length)表示返回從start開始包含length長度的新字符串,包含start,且不修改原字符串,與substring相比,第二個參數由表明結束的下標stop變成了規定新字符串長度的length,例如:字符串

var str = "0123456789";
console.log(str.substr(2,6))//"234567"

其中start是必填項,length爲選填項,若是length不填 那麼將返回是start到字符串結尾。例如:string

var str = "0123456789";
console.log(str.substr(2))//"23456789"

3、關於slice()
 首先要說的是,slice可操做數組和字符串,但substring和substr只能操做字符串,splice只能操做數組。it

slice(start,stop)表示截取從下標start 到下標stop(不包括該元素)的之間的元素,並返回新數組/新字符串,並不修改原數組/原字符串,這點上面說了,與substring很類似。例如:console

var str = "0123456789";
    arr = [0,1,2,3,4,5,6,7,8,9];
console.log(str.slice(2,6))//"2345"
console.log(arr.slice(2,6))//[2,3,4,5]

4、關於splice()
splice(start,length,items)表示從下標start處截取length長度(與substr有點像)的元素後,在start處爲原數組添加items,並返回被截取的新數組,splice會直接修改原數組,例如:top

var arr = [0,1,2,3,4,5,6,7,8,9];
console.log(arr.splice(1,3,2,3,4))//[1,2,3]
console.log(arr);//[0,2,3,4,4,5,6,7,8,9] 原數組被截取走了1,2,3,並加入了2,3,4

當咱們須要在數組中添加元素 length只需改成0或者負數,列如:co

var arr = [0,1,2,3,4,5,6,7,8,9];
console.log(arr.splice(1,0,2,3,4))//[]
console.log(arr);//[0,2,3,4,1,2,3,4,5,6,7,8,9]
相關文章
相關標籤/搜索