var _array=[];
var someint=44;
var somevalue='a string';
var u=[someint];
_array.unshift(u);
_array[u].unshift('somevalue');//*error
为什么这不起作用?
未捕获的TypeError:无法调用未定义的方法'unshift'
答案 0 :(得分:2)
您已向“_array”添加了一个元素,其索引将为0.但是,您尝试使用数组作为数组的索引,这将无效。也就是说,
_array[u]
没有意义。数组以数字方式索引。因此,该表达式的值为undefined
,这解释了错误消息 - 您试图引用值undefined
的“unshift”属性。 (好吧,undefined
并不是真正的价值,而是什么。)
答案 1 :(得分:1)
使用
_array[0].unshift();
而不是
_array[u].unshift('somevalue');