二维Javascript数组无法填充duel for循环

2-Dimensional Javascript Array unable to fill with duel for loops

本文关键字:duel for 循环 填充 Javascript 数组 二维      更新时间:2024-02-23

我正在编写一个需要使用Javascript二维数组的程序,所以我构建了这个测试设备来实验向数组中添加值。

正如您所看到的,如果您检查输出,循环运行内部循环两次,然后停止,则不会强制执行运行10次的外部循环要求。

有人能解释我做错了什么吗?

HTML:

<body>
  <input type="button" value="Press me!" id="pressMe" onclick="primaryCommand('textBox')">
  <textarea id="textBox"></textarea>
</body>

Javascript:

function primaryCommand(input){
  arrayTest(input);
}
function arrayTest(input){
  // How large can an array be and still be safe?
  var array = new Array(new Array());
  var obj = document.getElementById(input);
  obj.value="";
  var x = 0, y = 0;
  for (x = 0; x < 10; x++)
  {
    for (y = 0; y < 2; y++)
    {
      array[x][y] = "Hello World, x='" + x + "', y='" + y + "''n";
      obj.value+=array[x][y];
    }
  }
}

输出:

Hello World, x='0', y='0'
Hello World, x='0', y='1'

外部数组(由x索引)只有一个成员(单个数组)。试试这个:

function arrayTest(input){
  var array = [];
  var obj = document.getElementById(input);
  obj.value="";
  var x = 0, y = 0;
  for (x = 0; x < 10; x++)
  {
    array[x] = [];
    for (y = 0; y < 2; y++)
    {
      array[x][y] = "Hello World, x='" + x + "', y='" + y + "''n";
      obj.value+=array[x][y];
    }
  }
}