JS在Array數(shù)組中按指定位置刪除或添加元素對象方法示例
JavaScript的數(shù)據(jù)中可通過splice/slice在指定位置添加或刪除元素。另外還有slice、delete等方法實現(xiàn)。
splice簡介
splice方法向/從數(shù)組中添加/刪除項目,然后返回被刪除的項目。 該方法會改變原始數(shù)組。
arrayObject.splice(index, howmany, item1, ..., itemX)
參數(shù) 描述
index 必需。整數(shù),規(guī)定添加/刪除項目的位置,使用負(fù)數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。
howmany 必需。要刪除的項目數(shù)量。如果設(shè)置為 0,則不會刪除項目。
item1, ..., itemX 可選。向數(shù)組添加的新項目。
使用示例
刪除第3個元素
var arr = [1, 2, 3, 4, 5]; arr.splice(2, 1); console.log(arr) //[1, 2, 4, 5]
刪除開始的3個元素
var arr = [1, 2, 3, 4, 5]; arr.splice(0, 3); console.log(arr); //[4, 5]
在第2個元素后,添加新數(shù)字 9
var arr = [1, 2, 3, 4, 5]; arr.splice(2, 0, 9); console.log(arr) //[1, 2, 9, 3, 4, 5]
Array.insert 添加
借助splice可以在array上面添加一個原生的insert方法,直接操作數(shù)組:
Array.prototype.insert = function(index) { index = Math.min(index, this.length); arguments.length > 1 && this.splice.apply(this, [index, 0].concat([].pop.call(arguments))) && this.insert.apply(this, arguments); return this; };
使用示例
var arr = [1, 2, 3, 4, 5]; arr.insert(2, -1, -2, -3); console.log(arr); // [1, 2, -1, -2, -3, 3, 4, 5]
Array.remove 刪除
也可以用slice在array上面添加一個原生的remove方法
Array.prototype.remove = function(from, to) { var rest = this.slice((to || from) + 1 || this.length); this.length = from < 0 ? this.length + from : from; return this.push.apply(this, rest); };
使用,刪除第3個元素
var arr = [1, 2, 3, 4, 5]; arr.remove(2); //第3個元素索引是2 console.log(arr); //[1, 2, 4, 5]
這里使用了slice方法,簡介如下:
slice簡介
slice() 方法可從已有的數(shù)組中返回選定的元素。 返回一個新數(shù)組,不修改原有數(shù)組。
arrayObject.slice(start,end)
參數(shù)描述
start 必需。規(guī)定從何處開始選取。如果是負(fù)數(shù),那么它規(guī)定從數(shù)組尾部開始算起的位置。也就是說,-1 指最后一個元素,-2 指倒數(shù)第二個元素,以此類推。
end 可選。規(guī)定從何處結(jié)束選取。該參數(shù)是數(shù)組片斷結(jié)束處的數(shù)組下標(biāo)。如果沒有指定該參數(shù),那么切分的數(shù)組包含從 start 到數(shù)組結(jié)束的所有元素。如果這個參數(shù)是負(fù)數(shù),那么它規(guī)定的是從數(shù)組尾部開始算起的元素。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。
相關(guān)文章
javascript制作坦克大戰(zhàn)全紀(jì)錄(1)
本文寫作的目的是鞏固一下自己最近學(xué)習(xí)的js知識, 這個教程適合熟悉js基本語法和面向?qū)ο笳Z法的小伙伴學(xué)習(xí)。由于自己也是剛學(xué)js不久,所以難免出現(xiàn)錯誤。如果發(fā)現(xiàn)希望給予指正。2014-11-11JavaScript 一行代碼,輕松搞定浮動快捷留言-V2升級版
前天熬了大半宿發(fā)了一篇[一行代碼輕松搞定快捷留言功能],同時發(fā)布了V1.0beta版的快捷留言功能和源代碼,之所以是beta版,就是當(dāng)時感覺雖然基本功能有了,但是還不夠完善,特性也不一定合理2010-04-04JavaScript數(shù)組中相同的元素進(jìn)行分組(數(shù)據(jù)聚合)groupBy函數(shù)詳解
今天在打算從js端時序數(shù)據(jù)庫TSDB中,按相同的類型的數(shù)據(jù)排在一起,并且取同一時間段最新的數(shù)據(jù),經(jīng)過查詢這種思想叫做數(shù)據(jù)聚合,就是返回的數(shù)據(jù)要根據(jù)一個屬性來做計算,這篇文章主要介紹了JavaScript數(shù)組中相同的元素進(jìn)行分組(數(shù)據(jù)聚合)?groupBy函數(shù),需要的朋友可以參考下2023-12-12JavaScript實現(xiàn)同一頁面內(nèi)兩個表單互相傳值的方法
這篇文章主要介紹了JavaScript實現(xiàn)同一頁面內(nèi)兩個表單互相傳值的方法,涉及javascript鼠標(biāo)事件及頁面元素賦值操作的相關(guān)技巧,需要的朋友可以參考下2015-08-08javascript 數(shù)組排序函數(shù)sort和reverse使用介紹
reverse方法將一個Array對象中的元素位置進(jìn)行反轉(zhuǎn),sort方法返回一個元素已經(jīng)進(jìn)行了排序的 Array 對象,下面為大家介紹下2013-11-11