Javascript 如何从数组中获取已分类对象的值

Javascript 如何从数组中获取已分类对象的值,javascript,arrays,class,object,foreach,Javascript,Arrays,Class,Object,Foreach,我需要硬编码一个简单的foreach函数,用于console.log从数组中注销具有相同特定属性值的对象列表。但是console.log一直显示未定义。我不知道我做错了什么。是否定义了导致问题的类?如果我只需要在课堂上工作,我该如何解决这个问题 class Hive { constructor(apiary_name, hive_name, hive_number) { this.apiary_name = apiary_name; this.hive_name =

我需要硬编码一个简单的foreach函数,用于console.log从数组中注销具有相同特定属性值的对象列表。但是console.log一直显示未定义。我不知道我做错了什么。是否定义了导致问题的类?如果我只需要在课堂上工作,我该如何解决这个问题

class Hive {
     constructor(apiary_name, hive_name, hive_number) {
     this.apiary_name = apiary_name;
     this.hive_name = hive_name;
     this.hive_number = hive_number;
}}

const Hive1_A1 = new Hive(A1, 'My First Hive in A1', 1111)
const Hive2_A1 = new Hive(A1, 'My Second Hive in A1', 2222)
const Hive3_A1 = new Hive(A1, 'My Third Hive in A1', 3333)
const Hive1_A2 = new Hive(A2, 'My First Hive in A2', 1111)
const Hive2_A2 = new Hive(A2, 'My Second Hive in A2', 2222)
const Hive3_A2 = new Hive(A2, 'My Third Hive in A2', 3333)

const Hives = [
    {Hive1_A1},{Hive2_A1},{Hive3_A1},{Hive1_A2},{Hive2_A2},{Hive3_A2},
]

function listHives(ApiaryName_Hive_1){
    var hives = Hives;
    hives.forEach((hive) => {
        if(hive.apiary_name === ApiaryName_Hive_1) {
            console.log(hive);
        } else {
            console.log('No hives in apiary A1 can be found')
        }
    });
}

listHives('A1')
通过调用函数listHives('A1'),我希望在console.log中只列出Hive_1_A1、Hive_2_A1、Hive_3_A1。执行此操作时:

const Hives = [
    {Hive1_A1},{Hive2_A1},{Hive3_A1},{Hive1_A2},{Hive2_A2},{Hive3_A2},
]
您正在使用JS速记来创建对象。这将为您提供一个对象列表,如:

[{Hive1_A1: Hive1_A1}, {Hive2_A1: Hive2_A1} ...]
如果您只是想要一个可以迭代的配置单元列表,请不要在列表定义中使用
{}
,只需创建一个普通数组:

const Hives = [Hive1_A1, Hive2_A1, Hive3_A1...]
类蜂巢{
构造函数(蜂房名称、蜂房名称、蜂房编号){
this.apariy\u name=蜂房名称;
this.hive\u name=hive\u name;
this.hive\u number=hive\u number;
}}
const Hive1_A1=新蜂巢(“A1”,“我在A1中的第一个蜂巢”,1111)
const Hive2_A1=新蜂巢(“A1”,“我在A1中的第二个蜂巢”,2222)
const Hive3_A1=新蜂巢(“A1”,“我在A1的第三个蜂巢”,3333)
const Hive1_A2=新蜂巢(“A2”,“我在A2中的第一个蜂巢”,1111)
const Hive2_A2=新蜂巢(“A2”,“我在A2中的第二个蜂巢”,2222)
const Hive3_A2=新蜂巢(“A2”,“我在A2中的第三个蜂巢”,3333)
常数蜂箱=[蜂箱1_A1、蜂箱2_A1、蜂箱3_A1、蜂箱1_A2、蜂箱2_A2、蜂箱3_A2]
函数列表配置单元(ApiaryName_配置单元_1){
变种蜂房=蜂房;
蜂巢。forEach((蜂巢)=>{
如果(蜂房名称===蜂房名称\u蜂房名称\u 1){
控制台日志(配置单元);
}否则{
console.log('在养蜂场A1中找不到蜂箱')
}
});
}
列表箱('A1')