2015年6月7日 星期日

javascript:remove array element



在撰寫javascript時常常會遇到一個情境,就是當我們要對某個陣列進行元素的移除,此時我們可以有兩種方式選擇,分別為delete、splice,但是在使用時須注意兩者的差異。

一、delete:從以下的代碼我們可以得知delete並沒有真正的移除該元素,只是刪除了資料而已,因此內容為undefined,長度也與原始內容一樣。


var a = [1,2,3];
delete a[2];
//content: [1,2,undefined];
//length: a.length = 3;

二、splice:使用此方式就真正移除該元素並非僅刪除資料。

var a = [1,2,3];
a.splice(2,1);
//content: [1,2];
//length: a.length = 2;

沒有留言:

張貼留言