reactjs 具有相同名称属性的内部对象的结构化

ykejflvf  于 2023-01-12  发布在  React
关注(0)|答案(1)|浏览(131)

在所有我有下面的对象结构,我试图得到所有内部对象的名称使用解构技术,但无法做到这一点,下面是对象结构

{
       massingType {
            id
            name
        }
        ashraeClimateZone {
             id
            name
        }
        sourceOfData {
             id
             name    
        }
        .....
    }

而我正在做的destructuring如下

constructionSetData.constructionSets.forEach(item => {
    if (
      item.ashraeClimateZone?.id === ashraeClimateZoneId &&
      item.massingType?.id === massingTypeId &&
      item.sourceOfData?.id === energyCodeId
    ) {
      matchedConstructionDataSet.push(item.name);
      const { sourceOfData: name, massingType: name, ashraeClimateZone: name } = item; // getting error here Identifier 'name' has already been declared 
    }
  });
  return matchedConstructionDataSet.length
    ? `${matchedConstructionDataSet.join(', ')}` // here i need to use above names coming from three inner objects
    : 'No construction set found with the current criteria';

任何人可以请让我知道我如何才能实现这个解决方案,提前感谢!!

5us2dqdw

5us2dqdw1#

使用反结构化赋值可以重命名任何反结构化变量。您当前正在将每个“根”键重命名为name,这会导致重复声明,但似乎您确实想访问和反结构化每个“根”键的嵌套name属性。

const {
  sourceOfData: {
    name: sourceOfDataName,
  },
  massingType: {
    name: massingTypeName,
  },
  ashraeClimateZone: {
    name: ashraeClimateZoneName,
  },
} = item;

考虑 * 仅仅 * 第一个结构化值,上面
1.析构从item分配sourceOfData
1.解构将name属性分配给sourceOfDataName

相关问题