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)常也被用來截取字符串,它們分別是:substr
與 substring
衫樊。它們都能截取字符串飒赃,并且返回一個新的字符串(不改變原字符串)。
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"]。