slice、splice、split 三者的區(qū)別

slice(切割)

slice 能夠截取 字符串 或 數(shù)組厅瞎,并返回一個新的 字符串 或 數(shù)組(不改變原字符串或數(shù)組)

功能一:截取字符串 str.slice(start,end)

let str = 'hello world'
// 截取下標(biāo) [2,5) 區(qū)間的字符串迎捺,左閉右開,結(jié)果為:llo
let str2 = str.slice(2,5)  

從 start下標(biāo) 開始别威,保留到 end下標(biāo) 的前一個結(jié)束第献,如果沒有 end,就保留到最后一個字符結(jié)束兔港。

舉一反三:

除了 slice 能夠截取字符串外庸毫,還有兩個方法經(jīng)常也被用來截取字符串,它們分別是:substrsubstring衫樊。它們都能截取字符串飒赃,并且返回一個新的字符串(不改變原字符串)。

str.substr(start,num):截取字符串科侈,從 start下標(biāo) 開始载佳,截取 num 個字符串。

str.substring(start,end):截取字符串臀栈,從 start下標(biāo) 開始蔫慧,保留到 end下標(biāo) 的前一個結(jié)束,如果沒有 end权薯,就保留到最后一個字符結(jié)束姑躲,跟 slice方法 一樣睡扬。

功能二:截取數(shù)組 arr.slice(start,end)

let arr = [1,2,3,4,5]
// 截取下標(biāo) [2,5) 區(qū)間的數(shù)組,左閉右開黍析,結(jié)果為:[3, 4, 5]
let arr2 = arr.slice(2,5)  

從 start下標(biāo) 開始卖怜,保留到 end下標(biāo) 的前一個結(jié)束,如果沒有 end阐枣,就保留到最后一個字符結(jié)束马靠。

splice(拼接)

splice 是一個專門用于 數(shù)組操作 的方法,堪稱最強大的數(shù)組操作方法蔼两。它可以對數(shù)組中的元素進(jìn)行刪除甩鳄、插入和替換。替換原數(shù)組额划,返回刪除的元素數(shù)組娩贷。

arr.splice(start,num,arg1,arg2...)

注意:splice 操作的是原數(shù)組!

功能一:刪除數(shù)組元素

let arr = [1,2,3,4,5,6,7,8,9]
// 從 下標(biāo)為 3 的項開始锁孟,依次向后刪除 2 個元素彬祖,返回被刪除的元素數(shù)組:[4, 5],原數(shù)組改變?yōu)椋篬1, 2, 3, 6, 7, 8, 9]
arr.splice(3,2)

對數(shù)組中的元素進(jìn)行刪除品抽、插入和替換储笑,替換原數(shù)組,返回刪除的元素數(shù)組(堪稱最強大的數(shù)組操作方法)

  • 從 start下標(biāo) 開始圆恤,刪除 num 個元素突倍,再在此處插入 arg1,arg2盆昙,arg3...
  • 如果只填了 start 卻沒填 其它參數(shù)羽历,則代表刪除其后的所有元素

功能二:刪除并插入元素

如果我們對上面的代碼進(jìn)行更改,則可以完成插入元素的功能淡喜。

let arr = [1,2,3,4,5,6,7,8,9]
// 從 下標(biāo)為 3 的項開始秕磷,依次向后刪除 2 個元素,并將 1, 2, 3 添加到被刪除的元素的位置炼团。返回被刪除的元素數(shù)組:[4, 5]澎嚣,原數(shù)組改變?yōu)椋篬1, 2, 3, 1, 2, 3, 6, 7, 8, 9]
arr.splice(3,2,1,2,3)

功能三:單純插入數(shù)組

let arr = [1,2,3,4,5,6,7,8,9]
// 從 下標(biāo)為 3 的項開始,依次向后添加 1, 2, 3 等元素瘟芝。返回被刪除的元素數(shù)組:[]易桃,原數(shù)組改變?yōu)椋篬1, 2, 3, 1, 2, 3, 4, 5, 6, 7, 8, 9]
arr.splice(3,0,1,2,3)

split(分離)

以基于指定的分隔符將一個字符串分割成 多個子字符串,并將結(jié)果放在一個數(shù)組中

str.split('分隔字符串')

let str = 'this is a test'
str.split('s')

上面代碼的運行結(jié)果為锌俱,字符串以 's' 進(jìn)行分割晤郑,被分割的字符串返回成一個數(shù)組: ["thi", " i", " a te", "t"]。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市造寝,隨后出現(xiàn)的幾起案子磕洪,更是在濱河造成了極大的恐慌,老刑警劉巖匹舞,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異线脚,居然都是意外死亡赐稽,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門浑侥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來姊舵,“玉大人,你說我怎么就攤上這事寓落±ǘ。” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵伶选,是天一觀的道長史飞。 經(jīng)常有香客問我,道長仰税,這世上最難降的妖魔是什么构资? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮陨簇,結(jié)果婚禮上吐绵,老公的妹妹穿的比我還像新娘。我一直安慰自己河绽,他們只是感情好己单,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著耙饰,像睡著了一般纹笼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上苟跪,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天允乐,我揣著相機與錄音,去河邊找鬼削咆。 笑死牍疏,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拨齐。 我是一名探鬼主播鳞陨,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了厦滤?” 一聲冷哼從身側(cè)響起援岩,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎掏导,沒想到半個月后享怀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡趟咆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年添瓷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片值纱。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡鳞贷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出虐唠,到底是詐尸還是另有隱情搀愧,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布疆偿,位于F島的核電站咱筛,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏杆故。R本人自食惡果不足惜眷蚓,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望反番。 院中可真熱鬧沙热,春花似錦、人聲如沸罢缸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽枫疆。三九已至爵川,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間息楔,已是汗流浹背寝贡。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留值依,地道東北人圃泡。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像愿险,于是被迫代替她去往敵國和親颇蜡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344