這篇文章主要為大家詳細(xì)介紹了javascript中不易分清的slice,splice和split三個(gè)函數(shù),感興趣的小伙伴們可以參考一下
每每見(jiàn)到這三個(gè)函數(shù),我都會(huì)很懵,一定要到網(wǎng)上搜搜;今天,恰巧又見(jiàn)到了它們,所以想必是時(shí)候?yàn)樗鼈冏鰝€(gè)筆記啦
1.slice(數(shù)組)
用法:array.slice(start,end)
解釋?zhuān)涸摲椒ㄊ菍?duì)數(shù)組進(jìn)行部分截取,并返回一個(gè)數(shù)組副本;參數(shù)start是截取的開(kāi)始數(shù)組索引,end參數(shù)等于你要取的最后一個(gè)字符的位置值加上1(可選)
//如果不傳入?yún)?shù)二,那么將從參數(shù)一的索引位置開(kāi)始截取,一直到數(shù)組尾
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]
//如果兩個(gè)參數(shù)中的任何一個(gè)是負(fù)數(shù),array.length會(huì)和它們相加,試圖讓它們成為非負(fù)數(shù),舉例說(shuō)明:
//當(dāng)只傳入一個(gè)參數(shù),且是負(fù)數(shù)時(shí),length會(huì)與參數(shù)相加,然后再截取
var a=[1,2,3,4,5,6];
var b=a.slice(-1); //[6]
//當(dāng)只傳入一個(gè)參數(shù),是負(fù)數(shù)時(shí),并且參數(shù)的絕對(duì)值大于數(shù)組length時(shí),會(huì)截取整個(gè)數(shù)組
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]
//當(dāng)傳入兩個(gè)參數(shù)一正一負(fù)時(shí),length也會(huì)先于負(fù)數(shù)相加后,再截取
var a=[1,2,3,4,5,6];
var b=a.slice(2,-3); //[3]
//當(dāng)傳入一個(gè)參數(shù),大于length時(shí),將返回一個(gè)空數(shù)組
var a=[1,2,3,4,5,6];
var b=a.slice(6); //[]
2.slice(字符串)
用法:string.slice(start,end)
解釋?zhuān)簊lice方法復(fù)制string的一部分來(lái)構(gòu)造一個(gè)新的字符串,用法與參數(shù)勻和數(shù)組的slice方法一樣;end參數(shù)等于你要取的最后一個(gè)字符的位置值加上1
//舉個(gè)簡(jiǎn)單的例子
var a="i am a boy";
var b=a.slice(0,6); //"i am a"
3.splice(數(shù)組)
用法:array.splice(start,deleteCount,item...)
解釋?zhuān)簊plice方法從array中移除一個(gè)或多個(gè)數(shù)組,并用新的item替換它們。參數(shù)start是從數(shù)組array中移除元素的開(kāi)始位置。參數(shù)deleteCount是要移除的元素的個(gè)數(shù)。
如果有額外的參數(shù),那么item會(huì)插入到被移除元素的位置上。它返回一個(gè)包含被移除元素的數(shù)組。
//舉一個(gè)簡(jiǎn)單的例子
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)
解釋?zhuān)簊plit方法把這個(gè)string分割成片段來(lái)創(chuàng)建一個(gè)字符串?dāng)?shù)組??蛇x參數(shù)limit可以限制被分割的片段數(shù)量。separator參數(shù)可以是一個(gè)字符串或一個(gè)正則表達(dá)式。如果
separator是一個(gè)空字符,會(huì)返回一個(gè)單字符的數(shù)組。
//再舉一個(gè)簡(jiǎn)單的例子
var a="0123456";
var b=a.split("",3); //b=["0","1","2"]
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。