【发布时间】:2020-01-30 07:27:27
【问题描述】:
我正在尝试构建一个具有键及其值的对象:
const codeRed = this.orderInProgressCmsModel.orderStatusColorRed.split(",");
const codeGreen = this.orderInProgressCmsModel.orderStatusColorGreen.split(",");
const testObj = { colorName: "", colorCodes: []};
我正在执行以下操作以将信息添加到对象本身:
testObj.colorName = "red";
testObj.colorCodes = codeRed;
testObj.colorName = "green";
testObj.colorCodes = codeGreen;
这样做只会将最后两个添加到我的对象中作为其覆盖。
目的是我试图重构以下代码以避免使用这么多的 if 并尽可能使用更合乎逻辑的方法获得相同的结果:
if(codeRed.some(s => s.includes(code))){
this.orderStatusColor = JSON.parse('{"color": "red"}');
}
if (codeGreen.some(s => s.includes(code))){
this.orderStatusColor = JSON.parse('{"color": "green"}');
}
if (codeBlack.some(s => s.includes(code))){
this.orderStatusColor = JSON.parse('{"color": "black"}');
}
【问题讨论】:
标签: typescript object if-statement ecmascript-6 angular5