无法调用未定义的方法'unshift'

时间:2013-07-06 13:15:32

标签: javascript arrays

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

为什么这不起作用?

未捕获的TypeError:无法调用未定义的方法'unshift'

2 个答案:

答案 0 :(得分:2)

您已向“_array”添加了一个元素,其索引将为0.但是,您尝试使用数组作为数组的索引,这将无效。也就是说,

_array[u]

没有意义。数组以数字方式索引。因此,该表达式的值为undefined,这解释了错误消息 - 您试图引用值undefined的“unshift”属性。 (好吧,undefined并不是真正的价值,而是什么。)

答案 1 :(得分:1)

使用

_array[0].unshift();

而不是

_array[u].unshift('somevalue');