2012-03-10 31 views
0

這工作:接頭和VAR X = {}

var y=["Banana", "Orange", "Apple", "Mango"]; 
y.splice(0,1); 
document.write(y); 

它給了(很可能):橙,蘋果,芒果

這也是OK:

var z={}; 
z[32]="Help"; 
z[14]="Go"; 

但是這並未't work:

z.splice(32,1); 

Firebug中的錯誤消息是:

Error: z.splice is not a function ...

有一個明顯的規則我不知道。它是什麼,以及如何拼接出類似z [32]的東西?

謝謝。

回答

3

y是一個數組,z是一個對象。

您不能在對象的數組原型中使用函數。

var z=[]; 
z[32]="Help"; 
z[14]="Go"; 

z.splice(32,1); 

會工作正常。

3

您聲明z作爲對象。 splice是一個數組函數。嘗試:

var z = []; 
3

從對象使用刪除元素:

var z={}; 
z[32]="Help"; 
z[14]="Go"; 
delete z[32]; 

否則就需要使用數組。