成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

吐槽Javascript系列二:數(shù)組中的splice和slice方法

lookSomeone / 442人閱讀

摘要:原來,它的替換功能實(shí)際上是通過刪除和添加來完成的。在只有一個(gè)參數(shù)的情況下,方法返回從該參數(shù)指定位置開始到當(dāng)前數(shù)組末尾的所有項(xiàng)。它并不改變原數(shù)組。吐槽我曾經(jīng)一直困惑數(shù)組中的刪除方法,當(dāng)知道刪除這項(xiàng)偉大的任務(wù)竟然交給了,我心里是失望的。

戰(zhàn)斗英雄你當(dāng),漂亮媳婦兒你娶,怎么啥好事都被你給占了——《激情燃燒的歲月》

談起這兩個(gè)方法,新手不蒙,我是不信!正如吐槽Javascript系列一:slice()、substr()和 substring()中提到的,字符串中也有一個(gè)slice方法,極易混淆!
但其實(shí)呢,在數(shù)組中,他們還是很好區(qū)分的。

splice

splice,譯為拼接,它的功能非常強(qiáng)大,能夠刪除,新增,修改原數(shù)組,功能三合一哦,我們先來看它的刪除功能:

// 刪除
let colors = ["red", "green", "blue"]
let removed = colors.splice(0, 1)
console.log(removed) // [ "red" ]
console.log(colors) // [ "green", "blue" ]

上面代碼中,splice接收了二個(gè)參數(shù),第一個(gè)參數(shù)表示要?jiǎng)h除的第一項(xiàng)的位置,第二個(gè)參數(shù)表示要?jiǎng)h除的項(xiàng)數(shù)。
我們再來看看它的添加功能:

// 添加
let colors = ["red", "green", "blue"]
let removed = colors.splice(1, 0, "yellow", "orange")
console.log(removed) // []
console.log(colors) // [ "red", "yellow", "orange", "green", "blue" ]

上面代碼中,splice接收了四個(gè)參數(shù),第一個(gè)參數(shù)表示要?jiǎng)h除的第一項(xiàng)的位置,第二個(gè)參數(shù)表示要?jiǎng)h除的項(xiàng)數(shù),從第三個(gè)參數(shù)開始,表示要添加的項(xiàng)。
我們再來看看它的替換功能:

// 替換
let colors = ["red", "green", "blue", "orange"]
let removed = colors.splice(2, 1, "yellow", )
console.log(removed) // [ "blue" ]
console.log(colors) // [ "red", "green", "yellow", "orange" ]

上面代碼中,splice接收了三個(gè)參數(shù),第一個(gè)參數(shù)表示要?jiǎng)h除的第一項(xiàng)的位置,第二個(gè)參數(shù)表示要?jiǎng)h除的項(xiàng)數(shù),第三個(gè)參數(shù)表示要添加的項(xiàng)。
原來,它的替換功能實(shí)際上是通過刪除和添加來完成的。

說完splice,接下來說slice。

slice

slice,譯為切開,我們來看例子:

let arr = ["red", "green", "blue", "yellow"]
let arr1 = arr.slice(1)
let arr2 = arr.slice(1, 2)

console.log(arr1) // [ "green", "blue", "yellow" ]
console.log(arr2) // [ "green" ]
console.log(arr) // [ "red", "green", "blue", "yellow" ]

slice接受一或兩個(gè)參數(shù),即要返回項(xiàng)的起始和結(jié)束位置。在只有一個(gè)參數(shù)的情況下,slice()方法返回從該參數(shù)指定位置開始到當(dāng)前數(shù)組末尾的所有項(xiàng)。它并不改變原數(shù)組。

吐槽splice

我曾經(jīng)一直困惑數(shù)組中的刪除方法,當(dāng)知道刪除這項(xiàng)偉大的任務(wù)竟然交給了splice,我心里是失望的。
不應(yīng)該是del或者remove才像話嗎?刪除的功能它占了也就算了,添加的功能它也占了!它既能添加,也能刪除,還能拼接,那它為什么沒有七十二變?

吐槽slice

一個(gè)西瓜,被菜刀切成幾塊,這西瓜還是原來的西瓜嗎?那一個(gè)數(shù)組,被你切了幾下,那數(shù)組還是原來的數(shù)組嗎?

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/101732.html

相關(guān)文章

  • 吐槽Javascript系列一:slice()、substr() substring()

    摘要:點(diǎn)評我們來看這樣一個(gè)例子給定一個(gè)字符串,要求去掉最后一個(gè)逗號。大膽假想一下,如果把踢出去,就保留和,你還會(huì)懵嗎或者更大膽一點(diǎn),把和都踢出去,就只保留,我反正感覺整個(gè)世界都清靜了系列鏈接吐槽系列一和吐槽系列二數(shù)組中的和方法吐槽系列三數(shù)組的陷阱 實(shí)不相瞞,對于字符串中的slice()、substr()和 substring()這三個(gè)方法,我自己很長一段時(shí)間都是理不清的,每次用都得查一下文檔...

    waltr 評論0 收藏0
  • Javascript數(shù)組系列五之增刪改強(qiáng)大的 splice()

    摘要:刪除數(shù)組元素的開始索引需要?jiǎng)h除元素的個(gè)數(shù),插入數(shù)組的元素語法因?yàn)閰?shù)變化多樣,我們主要從三個(gè)方面來展示的用法。 今天是我們介紹數(shù)組系列文章的第五篇,也是我們數(shù)組系列的最后一篇文章,只是數(shù)據(jù)系列的結(jié)束,所以大家不用擔(dān)心,我們會(huì)持續(xù)的更新干貨文章。 生命不息,更新不止! 今天我們就不那么多廢話了,直接干貨開始。 我們在《Javascript數(shù)組系列一之棧與隊(duì)列》中描述我們是如何利用 pus...

    chavesgu 評論0 收藏0
  • 吐槽Javascript系列三:數(shù)組的陷阱

    摘要:雖然本系列是吐槽,但并不是為了黑,而是揭露它的一些特性怪癖,只有更好的了解它,才能更好的使用它。本篇主要介紹數(shù)組中常見的隱患點(diǎn)。 雖然本系列是吐槽,但并不是為了黑Javascript,而是揭露它的一些特性(怪癖),只有更好的了解它,才能更好的使用它。本篇主要介紹數(shù)組中常見的隱患點(diǎn)。 龜速的map 在數(shù)組中,map是一個(gè)功能很強(qiáng)大的方法,先來見識一下: let arr = [5, 2, ...

    U2FsdGVkX1x 評論0 收藏0
  • Day07 - Array Cardio 中文指南

    摘要:中文指南二作者簡介是推出的一個(gè)天挑戰(zhàn)。完整中文版指南及視頻教程在從零到壹全棧部落。第七天的練習(xí)是接著之前中文指南一的練習(xí),繼續(xù)熟練數(shù)組的方法,依舊沒有頁面顯示效果,所以請打開瀏覽器的面板進(jìn)行調(diào)試運(yùn)行。 Day07 - Array Cardio 中文指南二 作者:?liyuechun 簡介:JavaScript30 是 Wes Bos 推出的一個(gè) 30 天挑戰(zhàn)。項(xiàng)目免費(fèi)提供了 30 個(gè)...

    Forest10 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<