【发布时间】:2021-09-04 00:26:25
【问题描述】:
我正在开发一个 Angular 应用程序,我对使用 TypeScript 有以下疑问,如果值未定义,如何正确避免将字段插入对象。
在我的代码中,我以这种方式创建了一个对象:
let aestheticEvaluation: AestheticEvaluation = {
"altezza": aestheticEvaluationInfo.get('altezza').value,
"peso": aestheticEvaluationInfo.get('peso').value,
"phototype": aestheticEvaluationInfo.get('phototype').value.name,
"photoaging": aestheticEvaluationInfo.get('photoaging').value.name,
"comedoni": aestheticEvaluationInfo.get('comedoni').value.name,
"varici": aestheticEvaluationInfo.get('varici').value.name,
"rugheGlifiche": aestheticEvaluationInfo.get('rugheGlifiche').value.name,
"accentuazioneDeiPigheNasogeniene": aestheticEvaluationInfo.get('accentuazioneDeiPigheNasogeniene').value.name,
"gradoAgingCollo": aestheticEvaluationInfo.get('gradoAgingCollo').value.name,
"occhiaie": aestheticEvaluationInfo.get('occhiaie').value.name,
"borse": aestheticEvaluationInfo.get('borse').value.name,
"ipotoniaTerzoInferiore": aestheticEvaluationInfo.get('ipotoniaTerzoInferiore').value.name,
"cellulite": aestheticEvaluationInfo.get('cellulite').value.name,
"cicatriciIpertroficheCheloidi": aestheticEvaluationInfo.get('cicatriciIpertroficheCheloidi').value,
"luceDiWood": aestheticEvaluationInfo.get('luceDiWood').value,
"notes": aestheticEvaluationInfo.get('notes').value,
};
问题是某些字段可能具有 undefined 值。在这种情况下,该字段不必插入到我的 aestheticEvaluation 对象中。
例如,如果 aestheticEvaluationInfo.get('altezza').value 值为 undefined,则此 "altezza" 字段不是插入对象
我知道我可以使用 if 语句来检查每个字段的值是否为 null 并且在这种情况下避免插入对象但这样代码会很多更多余。有没有办法直接进入我的对象定义?
【问题讨论】:
-
我不相信有办法在定义对象时内联。
-
let foo = {...a.value ? {val : a.value} : {}}怎么样?
标签: javascript angular typescript javascript-objects