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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了您如何调用在javascript中的数组内创建的对象的函数?相关的知识,希望对你有一定的参考价值。

在下面的代码中,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]

以上是关于您如何调用在javascript中的数组内创建的对象的函数?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用JavaScript将循环内数组中的所有项目相乘[重复]

如何创建值数组并从 PHP 调用 JavaScript 函数

关于JavaScript中的对this的理解

Javascript:如何在每次调用时遍历数组

c++ 当我创建结构数组时,如何使用结构数组内的类的参数调用构造函数?

如何在javascript中检索数组内的数组?