0
var _array=[];
var someint=44;
var somevalue='a string';
var u=[someint];
_array.unshift(u);
_array[u].unshift('somevalue');//*error

为什么这不起作用?

未捕获的类型错误:无法调用未定义的方法“unshift”

4

2 回答 2

2

您已向“_array”添加了一个元素,其索引将为 0。但是,您尝试将数组用作数组的索引,但这是行不通的。那是,

_array[u]

没有意义。数组以数字方式索引。因此,该表达式的值为undefined,这解释了错误消息 - 您正在尝试引用 value 的“unshift”属性undefined。(嗯,undefined这不是一个真正的价值,但无论如何。)

于 2013-07-06T13:17:51.623 回答
1

利用

_array[0].unshift();

代替

_array[u].unshift('somevalue');
于 2013-07-06T13:19:14.170 回答