首页 > 解决方案 > 如何访问数组中对象的变量和方法 [已解决]

问题描述

所以我有一个看起来像这样的类:

class Car {

    constructor(name, pos) {

        this.carName = name;
        this.carPos = pos;
        
    }

}

然后我最终使用这个类创建了一个对象数组,如下所示:

newCar = new Car("Fusion","100 100");
let carManifest = [newCar]

我稍后在我的代码中继续将carManifest.push()其他几个Car对象放入数组中,构建它。最终我遇到了一个 for 循环,这样:

for (index = 0; index < carManifest.length; index++) {
if(carManifest[index].carName === 'Honda')
    <Do Stuff>
}

每当我访问时,carManifest[index].carName我都会得到“未定义”。我还在对象中为同一个变量提供了一个 get 方法,但是在这种情况下使用它甚至不会编译。我知道数组本身没有这些变量,但据我所知,没有办法像在 Java 和 C 中那样在 JS 中将数组声明为特定类。

谁能帮帮我?我是 JS 的新手,在过去的一个小时里一直对此感到困惑。如果没有足够的信息,我很乐意更新。谢谢!

注意:不确定是否重要,但我使用的是 Node.js

标签: javascript

解决方案


更改您的代码

let carManifest = [newCar]

将项目推送到数组

carManifest.push(newCar);

/*
function Car (name, pos) {
   this.carName = name;
   this.carPos = pos;    
}
*/
class Car {
    constructor(name, pos) {
        this.carName = name;
        this.carPos = pos;    
    }
}
newCar = new Car("Fusion","100 100");
let carManifest = [];
carManifest.push(newCar);

for (index = 0; index < carManifest.length; index++) {
if(carManifest[index].carName === 'Fusion'){
    console.log(carManifest[index].carName);
}
}


推荐阅读