【问题标题】:Syntax for multidimensional arrays - x[?,?] and x[?][?] [duplicate]多维数组的语法 - x[?,?] 和 x[?][?] [重复]
【发布时间】:2018-01-19 09:37:16
【问题描述】:

我使用https://js.do/ 作为简单脚本的沙箱,使用document.write 打印结果。我正在使用多维数组,代码如

var x = [];

x[1, 2] = 0;

但是,我对 document.write 正在打印的内容有点困惑。

在研究 JS 中的多维数组时,我发现没有提到上面使用的符号,而是在找到的示例中使用了x[1][2](即数组中的数组)。

我不记得我第一次遇到上述使用多维数组的方式 - 也许有人可以提供一个链接来启发我?

【问题讨论】:

    标签: javascript multidimensional-array


    【解决方案1】:

    带逗号的语法不正确,但显然不会导致语法错误。它通过简单地取最后一个值来解释,因此示例x[1,2] = 0 被视为x[2] = 0。这将创建一个数组,0 在第三个位置(索引 2)[undefined,undefined,0]。当它被写入 DOM 时,未定义的会被忽略,但仍会添加一个逗号。所以你的输出是,,0

    【讨论】:

      【解决方案2】:

      x[1, 2] = 0;0 分配给x 的索引2,其中comma 运算符,0, 2 表达式的最后一个值计算为x 括号符号的索引

      var x = [];
      
      x[1, 2] = 0;
      
      console.log(x[2] === 0);

      【讨论】:

      • 哦哇——我误以为这是正确的表示法,但它完全错误。幸好不久前才开始多维数组部分。它也解释了我从 document.write 得到的信息
      猜你喜欢
      • 1970-01-01
      • 2016-10-29
      • 2011-06-25
      • 2019-05-24
      • 2016-06-19
      • 2014-04-25
      • 2011-05-28
      • 2021-09-06
      • 1970-01-01
      相关资源
      最近更新 更多