Splice和var x = {}

时间:2012-03-10 04:40:17

标签: javascript arrays splice

这有效:

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

它给出(可预测):Orange,Apple,Mango

这也没关系:

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

但这不起作用:

z.splice(32,1);

Firebug中的错误消息是:

  

错误:z.splice不是函数...

显然我不了解一条规则。它是什么,以及如何拼出类似z [32]的东西?

感谢。

3 个答案:

答案 0 :(得分:3)

y是一个数组,z是一个对象。

您不能在对象中使用数组原型中的函数。

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

z.splice(32,1);

工作正常。

答案 1 :(得分:3)

您将z声明为对象。 splice是一个数组函数。尝试:

var z = [];

答案 2 :(得分:3)

要从对象中删除元素,请使用:

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

否则你将需要使用数组。