国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

強大的Array.prototype.splice()

tainzhi / 3318人閱讀

摘要:大于數(shù)組長度,不報錯,但是不會刪除當前數(shù)組的元素,第二個參數(shù)無效。大于并且小于指定位置到數(shù)組最后一個元素的長度,則刪除指定長度的元素。針對上面的描述,我們一一驗證它的所有用法。

之所以會多帶帶針對這個api寫這么一篇博文,一方面是因為最近在一次面試中聊到了這個API,我沒能完全說出它的用法;另一方面則是因為通過熟悉后覺得這個api確實很靈活很強大,充分體現(xiàn)了javascript的靈活性。所以寫這么一篇博文,可以讓自己更深刻地記住這個方法,也希望能讓更多地同仁用這個方法讓自己的javascript代碼更加簡潔,更加有效率。

MDN Web Docs中對Array.prototype.splice()的描述信息如下

splice(start, deleteCount, item1, item2, ...) 方法通過刪除或替換現(xiàn)有元素和/或添加新元素來更改數(shù)組的內(nèi)容。

傳參信息如下

1. start 從什么位置開始修改當前數(shù)組,這個參數(shù)有如下幾種情況

0到數(shù)組長度-1,即當前數(shù)組的任意位置。

大于數(shù)組長度-1,不報錯,但是不會刪除當前數(shù)組的元素,第二個參數(shù)無效。但是,如果這個時候傳入了第三個,以及第四個。。。參數(shù),那么,這些參數(shù)值會被添加到數(shù)組的末尾位置,也就類似于push方法。

小于0,如果開始位置為負數(shù),會從數(shù)組的末尾倒著查找,如,-1為最后一個元素,-2為倒數(shù)第二個元素。

2. deleteCount 要刪除的內(nèi)容的長度,這個參數(shù)有如下幾種情況

0或負數(shù) 不刪除數(shù)組元素。

大于0并且小于start指定位置到數(shù)組最后一個元素的長度,則刪除指定長度的元素。

大于start指定位置到數(shù)組最后一個元素的長度,刪除從start位置后面所有的元素,如splice(0, 99999999)會晴空長度小于99999999的數(shù)組

3. 在start位置開始要添加或者替換的元素,可以有多個。

針對上面的描述,我們一一驗證它的所有用法。

刪除元素(第二個參數(shù)不為0,后續(xù)參數(shù)不傳入,只刪除)
let ary = ["a", "b", "c", "d", "e", "f"];
ary.splice(1, 1); // 從第二個位置開始刪掉一個元素
console.log(ary); // ["a", "c", "d", "e", "f"]
let ary = ["a", "b", "c", "d", "e", "f"];
ary.splice(1, 2); // 從第二個位置開始刪掉兩個元素
console.log(ary); // ["a", "d", "e", "f"]
let ary = ["a", "b", "c", "d", "e", "f"];
ary.splice(-2, 1); // 刪掉倒數(shù)第二個元素‘e’
console.log(ary); // ["a", "b", "c", "d", "f"]
let ary = ["a", "b", "c", "d", "e", "f"];
ary.splice(0, ary.length); // 刪掉所有元素
console.log(ary); // []
添加元素(第二個參數(shù)為0,后續(xù)參數(shù)不為空,則只增加不刪除)
let ary = ["a", "b", "c", "d", "e", "f"];
ary.splice(ary.length, 0, "x"); // 在數(shù)組末尾追加一個元素
console.log(ary); // ["a", "b", "c", "d", "e", "f", "x"]
let ary = ["a", "b", "c", "d", "e", "f"];
ary.splice(1, 0, "x"); // 在數(shù)組第二個元素前插入一個元素
console.log(ary); // ["a","x", "b", "c", "d", "e", "f"]
let ary = ["a", "b", "c", "d", "e", "f"];
ary.splice(-2, 0, "x"); // 在數(shù)組倒數(shù)第二個元素前插入一個元素
console.log(ary); // ["a", "b", "c", "d", "x", "e", "f"]
let ary = ["a", "b", "c"];
let ary2 = ["d", "e", "f"]
ary.splice(ary.length, 0, ...ary2); // 數(shù)組拼接
console.log(ary); // ["a", "b", "c", "d", "e", "f"]
更新/替換元素(第二個參數(shù)不為0,后續(xù)參數(shù)不為空,這里需要注意的是,傳入的替換元素的個數(shù)可以等于前面的長度,也可以不等于前端的長度)
替換元素其實執(zhí)行的是先刪除再插入,所以一定要清楚傳入?yún)?shù)的意義
let ary = ["a", "b", "c", "d", "e", "f"];
ary.splice(1, 1, "x"); // 替換第二個元素‘b’為‘x’ (長度和傳入的替換元素個數(shù)都為一)
console.log(ary); // ["a", "x", "c", "d", "e", "f"]
let ary = ["a", "b", "c", "d", "e", "f"];
ary.splice(1, 2, "x"); // 刪掉第二個和第三個元素‘b’ ‘c’,插入一個元素‘x’ (長度大于傳入的替換元素個數(shù))
console.log(ary); // ["a", "x", "d", "e", "f"]
let ary = ["a", "b", "c", "d", "e", "f"];
ary.splice(1, 2, "x", "y", "z"); // 刪掉第二個和第三個元素‘b’ ‘c’,插入三個元素‘x’,‘y’, ‘z’ (長度小于傳入的替換元素個數(shù))
console.log(ary); // ["a", "x","y", "z", "d", "e", "f"]

上面這些就是我目前總結(jié)的常用的splice的用法,如有更多使用方法,歡迎留言討論

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/101325.html

相關文章

  • 《JavaScript語言精粹 修訂版》 讀書筆記

    摘要:于是我就先把這本薄的經(jīng)典書語言精粹修訂版豆瓣讀書本書簡介總共章,除去附錄,才頁,讀完并記錄了一些筆記。讀書筆記還可以分享給別人看。編程語言第版定義了的標準。程序檢查時丟棄值為函數(shù)的屬性。 之前看到這篇文章,前端網(wǎng)老姚淺談:怎么學JavaScript?,說到怎么學習JavaScript,那就是看書、分析源碼。10本書讀2遍的好處,應該大于一本書讀20遍??磿鲃訉W習,看視頻是被動學習。看...

    EscapedDog 評論0 收藏0
  • JavaScript深入之類數(shù)組對象與arguments

    摘要:在客戶端中,一些方法等也返回類數(shù)組對象。對象接下來重點講講對象。在函數(shù)體中,指代該函數(shù)的對象。下一篇文章深入之創(chuàng)建對象的多種方式以及優(yōu)缺點深入系列深入系列目錄地址。 JavaScript深入系列第十三篇,講解類數(shù)組對象與對象的相似與差異以及arguments的注意要點 類數(shù)組對象 所謂的類數(shù)組對象: 擁有一個 length 屬性和若干索引屬性的對象 舉個例子: var array = ...

    AlienZHOU 評論0 收藏0
  • 【深度長文】JavaScript數(shù)組所有API全解密

    摘要:關于我的博客掘金專欄路易斯專欄原文鏈接深度長文數(shù)組全解密全文共字,系統(tǒng)講解了數(shù)組的各種特性和。構(gòu)造器構(gòu)造器用于創(chuàng)建一個新的數(shù)組。中聲明的數(shù)組,它的構(gòu)造函數(shù)是中的對象。 本文首發(fā)于CSDN網(wǎng)站,下面的版本又經(jīng)過進一步的修訂。 關于 我的博客:louis blog 掘金專欄:路易斯專欄 原文鏈接:【深度長文】JavaScript數(shù)組全解密 全文共13k+字,系統(tǒng)講解了JavaScrip...

    Mr_zhang 評論0 收藏0
  • Array 對象方法整理

    摘要:對象方法數(shù)組創(chuàng)建與修改創(chuàng)建創(chuàng)建一個新數(shù)組實例將類數(shù)組類似數(shù)組的對象和可遍歷的對象轉(zhuǎn)為真正的數(shù)組。返回一個新的對象,該對象包含數(shù)組每個索引的值。遍歷鍵遍歷值遍歷鍵值對參考文檔標準庫對象 Array 對象方法 數(shù)組創(chuàng)建與修改 1. 創(chuàng)建 var arr = []; var arr = new Array() Array.of(el1[,el2[...]]) //創(chuàng)建一個新數(shù)組實例 Ar...

    IntMain 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<