首頁  >  文章  >  web前端  >  Javascript如何刪除數組

Javascript如何刪除數組

coldplay.xixi
coldplay.xixi原創
2021-03-30 15:06:077090瀏覽

Javascript刪除陣列的方法:1、使用delete方法,程式碼為【delete arr[1]】;2、使用陣列物件splice方法,程式碼為【arr.splice(1,1);】。

Javascript如何刪除數組

本教學操作環境: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 = [&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;,&#39;5&#39;];
 alert("elements: "+a+"nLength: "+a.length);
 a.remove(0); //删除下标为0的元素
 alert("elements: "+a+"nLength: "+a.length);

相關免費學習推薦:javascript影片教學

#

以上是Javascript如何刪除數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn