日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

substring、substr以及slice、splice用法和区别

發(fā)布時(shí)間:2025/3/21 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 substring、substr以及slice、splice用法和区别 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

關(guān)于substring()

substring(start,stop)表示返回從start開始到stop處之間的新字符串,其長(zhǎng)度為stop減 start。
特點(diǎn):

  • 包含start,但不包含stop
  • 且不修改原字符串,返回新字符串

這一點(diǎn)與slice的含頭不含尾相近。例如:

var str = "0123456789"; console.log(str.substring(1,5))//"1234" length為5-1 console.log(str.substring(0,9),str)//"012345678" "0123456789"

其中start是必填項(xiàng),stop為選填項(xiàng),如果stop不填,那表示從start截取到字符串結(jié)尾,例如:

var str = "0123456789"; console.log(str.substring(1))//"123456789"

如果 start比stop大,那么方法在執(zhí)行前會(huì)先交換這兩個(gè)參數(shù)。例如:

var str = "0123456789"; console.log(str.substring(8,4))//"4567"

如果 start與stop相等,那么會(huì)返回一個(gè)空的字符串。例如:

var str = "0123456789"; console.log(str.substring(6,6))//""

如果 start或stop為負(fù)數(shù),那么方法在執(zhí)行前會(huì)先將負(fù)數(shù)變?yōu)?。例如:

var str = "0123456789"; console.log(str.substring(-2,6))//"012345" console.log(str.substring(2,-6))//"01" console.log(str.substring(-2,-6))//""

關(guān)于substr()

substr(start,length)表示返回從start開始包含length長(zhǎng)度的新字符串,
特點(diǎn):

  • 包含start,
  • 且不修改原字符串,返回新字符串
  • 與substring相比,第二個(gè)參數(shù)由代表結(jié)束的下標(biāo)stop變成了規(guī)定新字符串長(zhǎng)度的length

例如:

var str = "0123456789"; console.log(str.substr(1,5))//"12345" length為5 console.log(str.substr(2,6),str)//"234567" "0123456789"

其中start是必填項(xiàng),length為選填項(xiàng),如果length不填,那表示從start截取到字符串結(jié)尾,例如:

var str = "0123456789"; console.log(str.substr(1))//"123456789"

如果start為負(fù)數(shù),那么start=str.length+start,例如:

var str = "0123456789"; console.log(str.substr(-1))//"9" console.log(str.substr(-6,3))//"456"

如果length為負(fù)數(shù)或者0,那么返回空字符串,例如:

var str = "0123456789"; console.log(str.substr(1,0))//"" console.log(str.substr(-1,-1))//"" console.log(str.substr(-1,0))//""

slice()

slice可操作數(shù)組和字符串,但substring和substr只能操作字符串,splice只能操作數(shù)組。

slice(start,stop)表示截取從下標(biāo)start 到下標(biāo)stop(不包括該元素)的之間的元素,并返回新數(shù)組/新字符串,并不修改原數(shù)組/原字符串,與substring很相似。
特點(diǎn):

  • 包含start,但不包含stop
  • 不修改原數(shù)組/原字符串,返回新數(shù)組/新字符串

例如:

var str = "0123456789";arr = [0,1,2,3,4,5,6,7,8,9]; console.log(str.slice(1,6))//"12345" console.log(arr.slice(1,6))//[1,2,3,4,5]

其中start是必填項(xiàng),stop為選填項(xiàng),如果stop不填,那表示從start截取到數(shù)組結(jié)尾/字符串結(jié)尾,例如:

var str = "0123456789";arr = [0,1,2,3,4,5,6,7,8,9]; console.log(str.slice(1))//"123456789" console.log(arr.slice(1))//[1,2,3,4,5,6,7,8,9]

如果 start比stop大(不會(huì)互換),或start與stop相等,則截取的為空,例如:

var str = "0123456789";arr = [0,1,2,3,4,5,6,7,8,9]; console.log(str.slice(3,3))//"" console.log(arr.slice(3,3))//[] console.log(str.slice(6,5))//"" console.log(arr.slice(6,5))//[]

需要特別注意的是,如果 start或者stop為負(fù)數(shù),那么負(fù)數(shù)的選項(xiàng)從數(shù)組尾部開始算起的位置,最后一個(gè)數(shù)字為-1,倒數(shù)第二個(gè)數(shù)字為-2,依次類推。例如:

var str = "0123456789"; console.log(str.slice(6,-1))//"678" console.log(str.slice(-6,-1))//"45678" console.log(str.slice(-6,8))//"4567"

關(guān)于splice()

splice(start,length,items)表示從下標(biāo)start處截取length長(zhǎng)度(與substr有點(diǎn)像)的元素后,在start處為原數(shù)組添加items,并返回被截取的新數(shù)組,splice會(huì)直接修改原數(shù)組,例如:

var arr = [0,1,2,3,4,5,6,7,8,9]; console.log(arr.splice(1,3,2,3,4))//[1,2,3] console.log(arr);//[0,2,3,4,4,5,6,7,8,9] 原數(shù)組被截取走了1,2,3,并加入了2,3,4

其中start和length為必填項(xiàng),items為選填項(xiàng),如果length為0或者負(fù)數(shù),則返回空數(shù)組(這里與substr相似),例如:

var arr = [0,1,2,3,4,5,6,7,8,9]; console.log(arr.splice(1,0,2,3,4))//[] console.log(arr);//[0,2,3,4,1,2,3,4,5,6,7,8,9] 直接在原數(shù)組下標(biāo)0處并加入了2,3,4 var arr = [0,1,2,3,4,5,6,7,8,9]; console.log(arr.splice(1,-9,2,3,4))//[] console.log(arr);//[0,2,3,4,1,2,3,4,5,6,7,8,9] 直接在原數(shù)組下標(biāo)0處并加入了2,3,4

如果start為負(fù)數(shù),則原理和slice負(fù)數(shù)從右往左截取,最后一位數(shù)字為-1,倒數(shù)第二位為-2,依次類推,例如:

var arr = [0,1,2,3,4,5,6,7,8,9]; console.log(arr.splice(-1,1,2,3,4))//[9] console.log(arr);//[0,1,2,3,4,5,6,7,8,2,3,4] 從右往左截取1位,也就是9,并加入2,3,4

總結(jié)

以上是生活随笔為你收集整理的substring、substr以及slice、splice用法和区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。