我有一个问题。
我创建了以下 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/