var arr=['a','b','c'];
若要刪除其中的'b',有兩種方法:
1.delete方法:delete arr[1]
這種方式數組長度不變,此時arr[1]變為undefined了,但是也有好處原來數組的索引也保持不變,此時要遍曆數組元素可以才用
for(index in arr)
document.write('arr['+index+']='+arr[index]);
這種遍曆方式跳過其中undefined的元素
* 該方式IE4.o以後都支援了
2.數組對象splice方法:arr.splice(1,1);
這種方式數組長度相應改變,但是原來的數組索引也相應改變
splice參數中第一個1,是刪除的起始索引(從0算起),在此是數組第二個元素
第二個1,是刪除元素的個數,在此只刪除一個元素,即'b';
此時遍曆數組元素可以用普通遍曆數組的方式,比如for,因為刪除的元素在
數組中並不保留
* 該方法IE5.5以後才支援
值得一提的是splice方法在刪除數組元素的同時,還可以新增入數組元素
比如arr.splice(1,1,'d','e'),d,e兩個元素就被加入數組arr了
結果數組變成arr:'a','d','e','c'
var arr=['a','b','c']; 若要刪除其中的'b',有兩種方法: 1.delete方法:delete arr[1] 這種方式數組長度不變,此時arr[1]變為undefined了,但是也有好處原來數組的索引也保持不變,此時要遍曆數組元素可以才用 for(index in arr) document.write('arr['+index+']='+arr[index]); 這種遍曆方式跳過其中undefined的元素 * 該方式IE4.o以後都支援了 2.數組對象splice方法:arr.splice(1,1); 這種方式數組長度相應改變,但是原來的數組索引也相應改變 splice參數中第一個1,是刪除的起始索引(從0算起),在此是數組第二個元素 第二個1,是刪除元素的個數,在此只刪除一個元素,即'b'; 此時遍曆數組元素可以用普通遍曆數組的方式,比如for,因為刪除的元素在 數組中並不保留 * 該方法IE5.5以後才支援 值得一提的是splice方法在刪除數組元素的同時,還可以新增入數組元素 比如arr.splice(1,1,'d','e'),d,e兩個元素就被加入數組arr了 結果數組變成arr:'a','d','e','c'
下面的代碼主要是實現了,刪除數組中指定的值。
代碼如下:
Array.prototype.remove = function(b) {
var a = this.indexOf(b);
if (a >= 0) {
this.splice(a, 1);
return true;
}
return false;
};
以後使用過程中,就可以直接利用這個函數,刪除數組中的值了。