在下面的代码中,TypeError“ database [(0,0)]。returnVal不是函数”被吐出:
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());
除了在数组之外声明我的所有变量之外,还有其他方法可以纠正此问题(这将使数组的目的降至最低)。我需要能够调用数组内对象的功能。
数据库[0,0]
这不是在javascript中访问多维数组的正确语法。这段代码使用的是令人困惑的comma operator,其含义是:“评估左0并忽略它,然后评估右0并将其用作数据库的索引”。换句话说,它最终与执行database[0]
没有什么不同。
代替做:
database[0][0]