![](/img/trans.png)
[英]Uncaught TypeError: Cannot read property '1' of undefined in array
[英]Array: Uncaught TypeError: Cannot read property 'push' of undefined
我正在编写这个程序并检查了其他类似的帖子。 但我很难理解如何解决这个问题?
这是 html
<body>
<h1>Hello!</h1> Please input start and end of your numbers
<input type="text" id="start" value="1" />
<input type="text" id="end" value="10" />
<button id="btn" onclick="MyFunc(document.getElementById('start').value, document.getElementById('end').value)">Click Me</button>
这是JS脚本:
function MyFunc(start, end) {
for(i=start;i<end;i++)
{
var arr = [];
arr[i].push;
document.getElementById("demo").innerHTML = arr[i]);
}
}
我想从用户输入的第一个和最后一个值构造一个数组序列,然后显示数组/执行一些计算。 我已经查看了 Stack 上的其他答案,但无法弄清楚这有什么问题。
谢谢你。
您正在声明一个空数组var arr = []
。 在那之后,您正在访问其内容,因此可以肯定它没有任何内容,因此arr[i]
是undefined
。
我想你想做的是
function MyFunc(start, end) {
document.getElementById("demo").innerHTML = "";
var str = "";
for(i = start; i <= end; i++) {
str += i;
}
document.getElementById("demo").innerHTML = str;
}
改变
var arr= [];
到
var arr= new Array(size);
// size 需要是一个整数值。
还要在for loop
之前声明数组
在从数组中添加/删除元素之前,您始终必须初始化数组。 由于未定义arr
数组,因此您会收到TypeError
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.