【问题标题】:Double Dimensional Array in Javascript Returning Undefined Array [duplicate]Javascript中的二维数组返回未定义的数组[重复]
【发布时间】:2023-04-03 01:38:01
【问题描述】:

我搜索了很多,但无法明确回答我的问题。

var rowCount = 3;
var myCounter = 0;
var myNewArray = new Array();

for (var i = 1; i < rowCount; i++) {
    try {
        myNewArray[myCounter][0] = i;                                   
        myNewArray[myCounter][1] = i;

        myCounter = myCounter + 1;

    } catch (err) {
        alert(err.message);
    }
}

它给出和异常说 myNewArray[myCounter] 未定义。知道为什么吗?我已经看过其他帖子,并且所有人都表明要像这样或使用 new Array([]) 来声明数组。没有任何工作。 需要帮助,提前谢谢。

【问题讨论】:

  • 感谢@torazburo 的回复,添加 myNewArray[myCounter] = [];在 myNewArray[myCounter] = [1] 之前;正如 Quince 下面解释的那样。

标签: javascript arrays multidimensional-array


【解决方案1】:

目前myNewArray 是一个数组,但您尝试在其中访问的元素尚不存在(未定义),因此您需要将这些元素设置为数组

 var rowCount = 3;
 var myCounter = 0;
 var myNewArray = new Array();

 for (var i = 1; i < rowCount; i++) {
     try {
         //set this element as an array if you want to then access it as an array
         myNewArray[myCounter] = [];
         myNewArray[myCounter][0] = i;
         myNewArray[myCounter][1] = i;

         myCounter = myCounter + 1;

     } catch (err) {
         alert(err.message);
     }
 }

【讨论】:

  • 感谢您的回复,效果很好。 :D 添加了 myNewArray[myCounter] = [];并开始工作
  • 如果这个问题得到解决,那么您可以根据需要将其标记为答案
猜你喜欢
  • 2022-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-26
  • 2017-02-06
  • 2013-01-08
  • 1970-01-01
相关资源
最近更新 更多