javascript - 如何访问数组中对象的变量和方法 [已解决]
问题描述
所以我有一个看起来像这样的类:
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
解决方案
更改您的代码
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);
}
}
推荐阅读
- bash - 函数内部全局变量的bash变量替换
- python - Using regular expression to replace xml in Python
- domain-driven-design - 从前端调用一些不同的restful服务
- bluetooth - 解释 AVRCP 数据包
- java - java数据在spring中从控制器传递时未显示在jsp viw中
- algorithm - Algorithm for distributing points evenly but randomly in a rectangle
- php - 事务内卷曲
- javascript - 自定义 Highcharts 工具提示
- java - 正则表达式验证必须包含至少两个非字母字符的八个或更多字符字符串
- javascript - Get the nearby objects of array item