slice,splice和split方法的區別和異同

每見到這三個函數,懵不懵,暈不暈…,一遍文章搞定

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);  //[]

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"

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']

split(字符串)

用法:string.split(separator,limit)

解釋:split方法把這個string分割成片段來創建一個字符串數組。可選參數limit可以限制被分割的片段數量。separator參數可以是一個字符串或一個正則表達式。如果

separator是一個空字符,會返回一個單字符的數組。

//再舉一個簡單的例子
var a="0123456";
var b=a.split("",3);    //b=["0","1","2"]

總結

slice 數組和字符串通用,只能截取,截取後字符串還是字符串,數組還是數組,並且原數組不改變
splice 數組專用,用於數組中Item的刪除和添加,修改後會改變原數組,如果添加到數組未,則等同於push效果,只不過push方法返回修改後數組的長度length
split 截取字符串,並生成一個新數組,數組的各項即爲字符串的每個字符

聯繫我

Email: [email protected]


QQ: 2811132560

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章