【问题标题】:Javascript multidimensional array returning wrong dimension [duplicate]Javascript多维数组返回错误的维度[重复]
【发布时间】:2014-07-02 16:22:58
【问题描述】:

我这样初始化一个数组:

    imgArray = [];
    imgArray[0,0] = "image1";
    imgArray[1,0] = "image2";
    imgArray[0,1] = "image3";
    imgArray[1,1] = "image4";
    imgArray[0,2] = "image5";
    imgArray[1,2] = "image6";

当我为 imgArray[0,2] 发出警报时,我得到了 image6。当我对 imgArray[0,1] 发出警报时,我得到了 image4。当我对 imgArray[1,1] 发出警报时,我得到了正确的 image4。

看来 imgArray 完全忽略了我的 0 维。

【问题讨论】:

  • JavaScript 中没有多维数组。改为使用数组数组。
  • 您的问题来自应用于您的两个索引的逗号运算符(Javascript 仅支持一个)。见JavaScript multidimensional array
  • 我认为 syntex 是错误的
  • @user,相反,语法是有效的,但是imgArray[1, 0]因为逗号操作符被计算为1; imgArray[0]
  • @FrédéricHamidi 这听起来很有趣,你能告诉我们更多关于这里发生的事情以及这在语法上是如何正确的吗?

标签: javascript multidimensional-array


【解决方案1】:

Javascript 中的多维数组用单独的括号写:

imgArray = [];
imgArray[0] = [];
imgArray[1] = [];
imgArray[0][0] = "image1";
imgArray[1][0] = "image2";
imgArray[0][1] = "image3";
imgArray[1][1] = "image4";
imgArray[0][2] = "image5";
imgArray[1][2] = "image6";

【讨论】:

  • 尝试更改上述代码,尝试访问 imgArray[1,2] 时出现未定义错误。我已经尝试了之前所有关于同一主题的帖子中的每个示例,它们都忽略了我的左侧维度。
  • 不要尝试获取imgArray[1,2](请阅读答案)。正确的用法是imgArray[1][2]
  • 那行得通。看了这么多小时后,我想我忽略了 cmets 中的细节。非常感谢。
【解决方案2】:
imgArray = [];
imgArray[0] = ["image1", "image2"];

JavaScript 中的多维数组只是嵌套数组。

【讨论】:

  • 试过这个 imgArray[0]=["image1.jpg","image3.jpg","image5.jpg"]; imgArray[1]=["image2.jpg","images4.jpg","image6.jpg"];对于 imgArray[0,1] 我返回 1,0 中的所有内容,即 image2、image4、image6。
猜你喜欢
  • 2016-11-09
  • 2015-11-24
  • 1970-01-01
  • 2011-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-23
  • 1970-01-01
相关资源
最近更新 更多