我只能在二维数组中添加三个元素,而不是四个
I can only add three elements to two-dimensional array, instead of four
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title></title>
<script type="text/javascript">
function arr(){
var a=new Array(new Array());
var x;
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
x=prompt("Enter an element for a["+i+"]["+j+"]"," ");
a[i][j]=x;
}
}
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
document.write(a[i][j]);
}
}
document.close();
}
</script>
</head>
<body onLoad="arr();">
</body>
</html>
上面的代码在Firefox上进行了测试。只显示三个提示,而不是四个:
a[0][0]
a[0][1]
a[1][0]
阵列也不会打印。我犯了什么错?如何解决此问题?
您声明的数组比您应该声明的少一个。对于本例,您需要一个类似[[],[]]
的数组。我会这样编码(以允许i
和j
的任何最大值(:
function arr(){
var a = [];
var x;
for(i=0;i<2;i++){
a[i] = [];
for(j=0;j<2;j++){
x=prompt("Enter an element for a["+i+"]["+j+"]"," ");
a[i][j]=x;
}
}
for(i=0;i<2;i++){
for(j=0;j<2;j++){
document.write(a[i][j]);
}
}
}
它也没有打印的原因是丢失的数组导致了一个错误,中断了函数的执行。
真的很抱歉之前的答案,这是正确的答案
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title></title>
<script type="text/javascript">
function arr()
{
var a = new Array();
var x;
for(i=0;i<2;i++)
{
a[i] = new Array();
for(j=0;j<2;j++)
{
x="";
x = prompt("Enter an element for a["+i+"]["+j+"]","");
}
}
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
document.write(a[i][j]);
}
}
document.close();
}
</script>
问题是必须在第一个数组中声明新数组示例:如何在JavaScript中创建二维数组?
您的数组是这样创建的:a[[]]
因此,您只能访问a[0][0]
和a[0][1]
,并且a[1]返回undefined。
你可以这样创建你的数组。a = [[], []];
,这将解决您的问题。
相关文章:
- Angular:如何使用ng选项进行四个单独的选择
- 有人知道如何使用highchart API实现三个或四个级别的动态下拉图吗
- 获取两个输入元素的值,并检查第三个元素的值.将值设置为第四个元素
- 如何在图像上添加标签.在jquerymobile中图像的四个角落
- 如何在javascript中生成任意四个数字之间的随机数
- 根据下拉选择隐藏四个输入框
- 调整窗口大小时,页面上的四个图像将不会调整大小
- 如何将制表符替换为四个空格 jQuery
- 如何使图形上最近的四个点发光
- jQuery slice() 方法 在 html 中选择元素(第一个/最后一个)
- Angularjs:显示字符串中的最后四个字符,并将其余字符替换为“X”
- 从四个输入字段中查找总计或平均值,并在另一个输入字段中显示值
- 如何将字符串修剪到最后四个字符
- 如何使用 jquery 选择器获取第三个或第四个元素并设置其 id
- 如何使用jQuery向每个元素添加类,除了每四个元素
- 使用jsp在表的一行中只显示四个元素
- 我只能在二维数组中添加三个元素,而不是四个
- JavaScript只迭代前四个元素
- jQuery每四个元素,除非最后一个
- 四个标签和文本框在同一行中,元素之间有一定的间距