[英]Simply typescript conditional expressions into ternary statements
我有以下if
语句。 这个表达式是否可以简化为三元语句? 我无法弄清楚,因为需要根据coverageLineId
的值分配group
let group;
if(coverageLineId == 1)
group = this.medicalBenefitsGroupsView.find((x) => x.value === groupValue);
else if (coverageLineId == 2)
group = this.dentalBenefitsGroupsView.find((x) => x.value === groupValue);
else if (coverageLineId == 3)
group = this.visionBenefitsGroupsView.find((x) => x.value === groupValue);
你可以做类似的事情
let group;
group = coverageLineId == 1 ? this.medicalBenefitsGroupsView.find((x) => x.value === groupValue) :
coverageLineId == 2 ? this.dentalBenefitsGroupsView.find((x) => x.value === groupValue) :
coverageLineId == 3 ? this.visionBenefitsGroupsView.find((x) => x.value === groupValue) : undefined;
如果你真的想让它更简洁,你可以这样做:
let group = this[["", "medical", "dental", "vision"][coverageLineId] + "BenefitsGroupsView"].find((x) => x.value === groupValue);
但是,我想我会这样做:
let view;
switch (coverageLineId) {
case 1:
view = this.medicalBenefitsGroupsView; break;
case 2:
view = this.dentalBenefitsGroupsView; break;
case 3:
view = this.visionBenefitsGroupsView; break;
}
let group = view.find((x) => x.value === groupValue);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.