JavaScript 数组无法识别

标签 javascript arrays

我有一个问题。

我创建了以下 JavaScript 数组:

    <script type="text/javascript">
      ArrayName['FirstValue']['SecondValue'] = {
       name = 'checbox_id'
       checked = true }
    </script>

但是当我在函数中调用全局数组时,这里是一个示例调用:

    ArrayName[value1][value2] = true;

我收到一条消息,指出 ArrayName 未定义。

创建与上面类似的数组的正确方法是什么?

最佳答案

您正在尝试在名为 ArrayName 的数组中设置一个元素,该元素未在任何地方声明:

<script type="text/javascript">
   // You are attempting to access an array but it hasn't been declared:
   ArrayName['FirstValue']['SecondValue'] = {
   name = 'checbox_id'
   checked = true }
</script>

您的语法表明这是一个包含嵌套数组的数组,如下所示:

var ArrayName = [[1,2,3], [4,5,6], [7,8,9]];

因此,如果您想获取数字 8,则需要访问第三个数组元素并使用以下语法获取存储在其中的数组中找到的第二个值:

// Remember, array indexes start counting from zero
ArrayName[2][1];  // Get the third element's, second item

或者(如果我们从字面上看你的例子,你正在搜索不是正整数的文字字符串),ArrayName不会是一个数组,它会是一个你正在尝试的对象访问其属性 FirstValue,然后该属性将另一个对象存储为其值,并且该对象有一个名为 SecondValue 的属性。该结构如下所示:

var myObjectLiteral = {
  FirstValue : { SecondValue : something }
}

但是,如果不知道您想要完成什么,我们就不可能帮助您编写数组或对象。

接下来,我们必须讨论您尝试分配给数组的对象:

{
       name = 'checbox_id'
       checked = true
}

此语法不正确。您缺少一个逗号来分隔键/值对与下一个。应该是:

{
       name : 'checbox_id',
       checked : true
}

关于JavaScript 数组无法识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40939989/

相关文章:

javascript - AngularJS - 在数组中单步执行数组

javascript - 检测 JavaScript 中的选项卡/窗口激活

python - 求和可被 M 整除的大小为 K 的子数组的数量?

javascript - 如何使用循环连接 socket.io 客户端

javascript - Plupload 在 Android 2.x 上发送带有错误 MIME 的数据

c - 缺少最后一个 IP 地址

javascript - 为什么在 JavaScript 中将对象插入另一个数组后,我的对象会变成数组?

C# 比较两个包含小写文本的 byte[] 数组

javascript - 一个简单的函数闭包问题——更新计数的计数器函数

javascript - phonegap-googlemaps-plugin + $ionicPopup