0

这有效:

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

它给出(可以预见的):橙子、苹果、芒果

这也可以:

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

但这不起作用:

z.splice(32,1);

Firebug 中的错误信息是:

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

显然有一条我不知道的规则。它是什么,如何拼接出 z[32] 之类的东西?

谢谢。

4

3 回答 3

3

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

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

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

z.splice(32,1);

会正常工作。

于 2012-03-10T04:42:07.587 回答
3

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

var z = [];
于 2012-03-10T04:42:17.177 回答
3

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

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

否则你将需要使用一个数组。

于 2012-03-10T04:46:17.223 回答