尝试遍历对象数组并找到匹配项

时间:2020-10-07 22:32:03

标签: javascript reactjs ecmascript-6

我具有下面的对象结构,如下面的图像,并且我试图与具有现有ID的内部对象属性(如质量类型id)进行匹配,如果匹配,则需要获取该对象的名称并进行推送将其设置为数组并在状态对象中设置该数组,

enter image description here

代码如下所示

    Object.values(constructionSets).forEach(item => {
        console.log(item);
        const constructionSetItem = [];
        if (
          item.ashraeClimateZone?.id === ashraeClimateZoneId &&
          item.massingType?.id === massingTypeId &&
          item.sourceOfData?.id === energyCodeId
        ) {
          setConstruction(constructionSetItem.push(item.name));
        }
      });

当我登录item时,我得到的是对象数组而不是单个对象,请问任何一个让我知道上述代码在哪里做错了吗?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

从您提供的信息中可以看到,constructionSets变量已经是一个数组,因此要进行循环,您只需执行以下操作:

constructionSets.forEach(item => {...})