slice()方法
slice() 方法可從已有的數(shù)組中返回選定的元素层宫。
slice()方法可提取字符串的某個(gè)部分珊泳,并以新的字符串返回被提取的部分镊折。
注意: slice() 方法不會(huì)改變?cè)紨?shù)組鹦筹。
Array.prototype.slice()
slice() 方法返回一個(gè)從開始到結(jié)束(不包括結(jié)束)選擇的數(shù)組的一部分淺拷貝到一個(gè)新數(shù)組對(duì)象。
原始數(shù)組不會(huì)被修改奏纪。
arrayObject.slice(start,end)
start 必需鉴嗤。規(guī)定從何處開始選取。如果是負(fù)數(shù)序调,那么它規(guī)定從數(shù)組尾部開始算起的位置。也就是說兔簇,-1 指最后一個(gè)元素发绢,-2 指倒數(shù)第二個(gè)元素硬耍,以此類推。
end 可選边酒。規(guī)定從何處結(jié)束選取经柴。該參數(shù)是數(shù)組片斷結(jié)束處的數(shù)組下標(biāo)。如果沒有指定該參數(shù)墩朦,那么切分的數(shù)組包含從 start 到數(shù)組結(jié)束的所有元素坯认。如果這個(gè)參數(shù)是負(fù)數(shù),那么它規(guī)定的是從數(shù)組尾部開始算起的元素氓涣。
返回一個(gè)新的數(shù)組牛哺,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。
slice不修改原數(shù)組劳吠,只會(huì)返回一個(gè)淺復(fù)制了原數(shù)組中的元素的一個(gè)新數(shù)組引润。原數(shù)組的元素會(huì)按照下述規(guī)則拷貝:
- 如果該元素是個(gè)對(duì)象引用 (不是實(shí)際的對(duì)象),slice
會(huì)拷貝這個(gè)對(duì)象引用到新的數(shù)組里痒玩。兩個(gè)對(duì)象引用都引用了同一個(gè)對(duì)象淳附。如果被引用的對(duì)象發(fā)生改變,則新的和原來的數(shù)組中的這個(gè)元素也會(huì)發(fā)生改變蠢古。
- 對(duì)于字符串奴曙、數(shù)字及布爾值來說(不是 String、Number 或者 Boolean) 對(duì)象)草讶,slice會(huì)拷貝這些值到新的數(shù)組里缆毁。在別的數(shù)組里修改這些字符串或數(shù)字或是布爾值,將不會(huì)影響另一個(gè)數(shù)組到涂。
如果向兩個(gè)數(shù)組任一中添加了新元素脊框,則另一個(gè)不會(huì)受到影響
String.prototype.slice()
slice()方法可提取字符串的一部分,并以新的字符串返回被提取的部分践啄。
str.slice(beginSlice[, endSlice])