繁体   English   中英

无法调用未定义的方法“ unshift”

[英]Cannot call method 'unshift' of undefined

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

为什么这不起作用?

Uncaught TypeError:无法调用未定义的方法“ unshift”

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

_array[u]

没有道理。 数组按数字索引。 因此,该表达式的值是undefined ,并且解释了错误消息-您正在尝试引用值undefined的“ unshift”属性。 (好吧, undefined实际上不是值,而是任何值。)

采用

_array[0].unshift();

代替

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM