在所有我有下面的对象结构,我试图得到所有内部对象的名称使用解构技术,但无法做到这一点,下面是对象结构
{
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';
任何人可以请让我知道我如何才能实现这个解决方案,提前感谢!!
1条答案
按热度按时间5us2dqdw1#
使用反结构化赋值可以重命名任何反结构化变量。您当前正在将每个“根”键重命名为
name
,这会导致重复声明,但似乎您确实想访问和反结构化每个“根”键的嵌套name
属性。考虑 * 仅仅 * 第一个结构化值,上面
1.析构从
item
分配sourceOfData
1.解构将
name
属性分配给sourceOfDataName
。