javascript
JS编程建议——52:建议使用splice删除数组
建議52:建議使用splice刪除數(shù)組
刪除數(shù)組元素的方法有多種,最簡單的方法是利用length屬性來截斷數(shù)組,但這種方法比較笨拙,僅能夠截斷尾部元素。在JavaScript中,由于數(shù)組其實就是對象,因此使用delete運算符可以從數(shù)組中移除元素。
var numbers=['zero','one','two','three','four','five','six','seven','eight','nine'];
delete numbers[2]; // numbers=['zero','one',undefined,'three','four','five', 'six','seven','eight','nine'];
但是,使用這種方式刪除指定下標(biāo)位置的元素后,會在數(shù)組中遺留一個空洞。這是因為排在被刪除元素之后的元素保留了它們最初的名字(下標(biāo)位置),而我們通常想要的是遞減后面每個元素的名字(下標(biāo))。
幸運的是,JavaScript數(shù)組有一個splice方法,它可以刪除一些元素并將它們替換為其他的元素。splice方法的第一個參數(shù)是數(shù)組中的一個序號,第二個參數(shù)是要刪除的元素個數(shù)。任何額外的參數(shù)會在序號那個點的位置被插入數(shù)組中。例如:
var numbers=['zero','one','two','three','four','five','six','seven','eight','nine'];
執(zhí)行以上代碼之后,元素值為“three”的下標(biāo)值從4變?yōu)?,同理,其后所有元素的下標(biāo)值都遞減1。因為必須移除被刪除元素后面的每個元素,并且將一個新的鍵值重新插入,因此,這對于大型數(shù)組來說效率會更高。
總結(jié)
以上是生活随笔為你收集整理的JS编程建议——52:建议使用splice删除数组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Wireshark中过滤数据包
- 下一篇: rpm包的制作