區分slice,splice和split方法

而今才到當時錯發表於2018-10-17

1.slice(陣列)

用法:array.slice(start,end)

解釋:該方法是對陣列進行部分擷取,並返回一個陣列副本;引數start是擷取的開始陣列索引,end引數等於你要取的最後一個字元的位置值加上1(可選)

複製程式碼 //如果不傳入引數二,那麼將從引數一的索引位置開始擷取,一直到陣列尾

var a=[1,2,3,4,5,6];
var b=a.slice(0,3);    //[1,2,3]
var c=a.slice(3);       //[4,5,6]
複製程式碼

//如果兩個引數中的任何一個是負數,array.length會和它們相加,試圖讓它們成為非負數,舉例說明: //當只傳入一個引數,且是負數時,length會與引數相加,然後再擷取

var a=[1,2,3,4,5,6];
var b=a.slice(-1);    //[6]
複製程式碼

//當只傳入一個引數,是負數時,並且引數的絕對值大於陣列length時,會擷取整個陣列

var a=[1,2,3,4,5,6];
var b=a.slice(-6);    //[1,2,3,4,5,6]
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(字串)

用法: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是要移除的元素的個數。

如果有額外的引數,那麼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"]
複製程式碼

相關文章