你如何调用在javascript中的数组中创建的对象的函数?

在下面的代码中,TypeError "database[(0 , 0)].returnVal is not a function" 被吐回:


let database = [

    [

        new DatabaseItem("00", [1, 2, 3, 4], "abcd", ["haiku", "test"]),

        new DatabaseItem("01", [], "", [0, 0, 0, 0, 0, 0])

    ],

    [],

    [],

    [],

    [],

    [],

    [],

    [],

    [],

    []

];

console.log("01 ID: " + database[0,0].returnVal());

但下面的代码很好:


validityTest = new DatabaseItem("00", [1, 2, 3, 4], "abcd", ["haiku", "test"]);

console.log("test ID: " + validityTest.returnVal());

除了在数组之外声明我的所有变量(这将使数组的目的最小化)之外,有没有办法纠正这个问题。我需要能够调用数组中对象的函数。


慕虎7371278
浏览 86回答 1
1回答

慕容3067478

数据库[0,0]这不是在 javascript 中访问多维数组的正确语法。这段代码使用了令人困惑的逗号运算符,意思是:“评估左边的 0 并忽略它,然后评估右边的 0 并将其用作数据库的索引”。换句话说,它最终与做没有什么不同database[0]。而是这样做:database[0][0]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript