【问题标题】:What is this: js?这是什么:js?
【发布时间】:2013-07-17 21:12:50
【问题描述】:

我遇到了这段代码,想知道它是什么?是数组吗?

test = {a: [1,0,0], b:[0,1,0], c:[0,0,1]};  

例如,我如何获得 A 的数组?

console.log(bases[a]);

^ 导致“Uncaught ReferenceError: a is not defined”

console.log(test) 的输出;是

Object {a: Array[3], b: Array[3], c: Array[3]}

【问题讨论】:

  • @AaronKurtzhals 这与 JSON 有什么关系?
  • 不,不是。问题中的对象是实际对象,而不是符号。
  • @GolezTrol:这没有任何意义。类似的语法可以出现在许多语言中。那么我们应该说这是XYZ语言吗?当然不是。
  • JSON 中的 N 代表 Notation。 JS 对象不是 JSON,句号。也许 Crockford 应该称它为 JSION,“JavaScript-inspired Object Notation”,也许我们那时就不会进行这个讨论了......实际上,问题中的代码是一个有效的 js 对象,但不是有效的 JSON。 @GolezTrol

标签: javascript arrays


【解决方案1】:

输出

Object {a: Array[3], b: Array[3], c: Array[3]}

表明:

  • 测试 -> 是一个对象
  • a、b 和 c -> 是数组

要访问a/bc,请使用:

console.log(test.a)

【讨论】:

    【解决方案2】:

    您正在尝试传入一个未定义的变量a

    使用bases.abases['a']

    【讨论】:

      【解决方案3】:

      { } 定义的事物是一个对象

      a 是该对象的一个​​属性。您可以通过使用句点 . 作为包含对象的变量名称 (test) 和属性名称 (a) 之间的分隔符来获取属性。所以要记录数组,请使用console.log(test.a);

      本例中这个属性的值恰好是一个数组,所以你可以像这样获取数组a的一项:

      console.log(test.a[0]);
      

      【讨论】:

        【解决方案4】:

        这是一个包含 3 个名为 a、b 和 c 的数组的对象。 test.a 为您提供第一个数组。在 javascript 中 {} 是一个对象,而 [] 是一个数组。

        【讨论】:

          【解决方案5】:

          这是一个包含 3 个数组作为值的对象。要访问“a”的数组,您可以使用 test.a (dot notation) 或 test["a"] (bracket notation)。

          打印到控制台:

          console.log(test.a);
          

          您可以在对象内存储几乎任何东西,包括数组甚至其他对象!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-08-26
            • 2017-01-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-06-11
            • 2019-09-13
            • 2014-03-10
            相关资源
            最近更新 更多