Javascript 我只能向二维数组中添加三个元素,而不是四个
阵列也未打印。我犯了什么错?如何解决这个问题?很抱歉之前的答案,这是正确的答案Javascript 我只能向二维数组中添加三个元素,而不是四个,javascript,Javascript,阵列也未打印。我犯了什么错?如何解决这个问题?很抱歉之前的答案,这是正确的答案 a[0][0] a[0][1] a[1][0] 函数arr() { var a=新数组(); var x; 对于(i=0;i您声明的数组比您应该声明的少一个。在本例中,您需要一个类似于[[],[]的数组。我将这样对它进行编码(以允许i和j的任何最大值): 函数arr(){ var a=[]; var x; 对于(i=0;i您的数组是这样创建的:a[[]] 因此,您只能访问a[0][0]和a[0][1],a[1]返
a[0][0]
a[0][1]
a[1][0]
函数arr()
{
var a=新数组();
var x;
对于(i=0;i您声明的数组比您应该声明的少一个。在本例中,您需要一个类似于[[],[]
的数组。我将这样对它进行编码(以允许i
和j
的任何最大值):
函数arr(){
var a=[];
var x;
对于(i=0;i您的数组是这样创建的:a[[]]
因此,您只能访问a[0][0]
和a[0][1]
,a[1]返回未定义
你可以这样创建你的数组。a=[[],[]];
,这会解决你的问题。谢谢!为什么新数组(new array())不起作用?它相当于一个[][]数组。对吗?java脚本支持var a=[]]?不,它相当于[[]]
。我猜你是来自java还是C?新数组(new array())
不是“数组数组”,它是一个数组对象,内部包含一个数组。是的,javascript支持数组文本,如[]
,以及对象文本,如{foo:'bar'}
。使用它们通常比使用数组()
和对象()更实际构造函数。很好。我来自C和C++背景。我想在JavaScript中找到一个[2 ] [2 ]。var j=(2)[2 ]是正确的。在JavaScript中,你不声明数组大小。你可以把整个事物声明为文字(<代码> var A[[[],[]] /代码>),或者在循环中创建嵌套数组(<代码> A[4])/COD>和<代码> A[1 ] < /代码>。(就像我的例子对a[0]…a[i]
)所做的那样。这也会起作用,但我不喜欢它的样子:var a=new Array(new Array(2),new Array(2))
。如果你向Array
构造函数传递一个int,If将用该长度初始化一个数组,并填充未定义的值。如果你传递任何其他内容(或任何元素列表),您正在用这些元素填充数组。
a[0][0]
a[0][1]
a[1][0]
<!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>
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]);
}
}
}