Javascript刪除陣列的方法:1、使用delete方法,程式碼為【delete arr[1]】;2、使用陣列物件splice方法,程式碼為【arr.splice(1,1);】。
本教學操作環境:windows7系統、javascript1.8.5版,DELL G3電腦。
Javascript刪除陣列的方法:
1,delete方法:delete arr[1]
這種方式數組長度不變,此時arr[1]變成undefined了,但是也有好處原來數組的索引也保持不變,此時要遍歷數組元素可以才用
for(index in arr) { document.write('arr['+index+']='+arr[index]); }
這種遍歷方式跳過其中undefined的元素
2,陣列物件splice方法:arr.splice(1,1);
這種方式陣列長度對應改變,但是原來的陣列索引也相應改變
splice參數中第一個1,是刪除的起始索引(從0算起),在此是數組第二個元素
第二個1,是刪除元素的個數,在此只刪除一個元素,即'b';
此時遍歷數組元素可以用普通遍歷數組的方式,比如for,因為刪除的元素在
數組中並不保留
值得一提的是splice方法在刪除數組元素的同時,還可以新增入數組元素
比如arr.splice(1,1,'d ','e'),d,e兩個元素就被加入數組arr了
結果數組變成arr:'a','d','e','c'
另外,JavaScript透過設定數組的length屬性來截斷數組,是惟一一種縮短數組長度的方法。
如果使用delete運算子來刪除數組中元素,雖然那個元素變成未定義的,但是數組的length屬性並不會改變兩種刪除元素,數組長度也會改變的方法。
/* * 方法:Array.remove(dx) * 功能:删除数组元素. * 参数:dx删除元素的下标. * 返回:在原数组上修改数组 */ //经常用的是通过遍历,重构数组. Array.prototype.remove=function(dx) { if(isNaN(dx)||dx>this.length){return false;} for(var i=0,n=0;i<this.length;i++) { if(this[i]!=this[dx]) { this[n++]=this[i] } } this.length-=1 } a = ['1','2','3','4','5']; alert("elements: "+a+"nLength: "+a.length); a.remove(0); //删除下标为0的元素 alert("elements: "+a+"nLength: "+a.length);
#相關免費學習推薦:javascript影片教學
以上是Javascript如何刪除數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!