【问题标题】:trying to loop through the array of objects and find the match试图遍历对象数组并找到匹配项
【发布时间】:2020-10-07 22:32:03
【问题描述】:

我有下面的对象结构,如下图所示,我正在尝试使用现有 ID 匹配内部对象属性(如质量类型 ID),如果匹配,我需要获取该对象的名称并推送将其设置为数组并将该数组设置为状态对象,

代码如下所示

    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 时,我得到的是对象数组而不是单个对象,谁能告诉我上面的代码哪里做错了吗?

提前致谢。

【问题讨论】:

  • 你能把传递给.values()的constructionSets值贴出来吗?
  • constructionSets 似乎已经是一个数组,所以Object.values(constructionSets) 应该返回一个相同的数组,console.log(item); 是每个对象的日志。
  • @mmason33 这只是 4 个数组

标签: javascript reactjs ecmascript-6


【解决方案1】:

根据我在您提供的信息中看到的,constructionSets 变量已经是一个数组,所以要循环它,您只需要这样做:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 2017-10-17
    • 1970-01-01
    • 2017-12-16
    • 2014-09-23
    • 1970-01-01
    • 2018-09-15
    相关资源
    最近更新 更多