Typescript 角度5-如何构建具有多个关键点的对象';价值观

Typescript 角度5-如何构建具有多个关键点的对象';价值观,typescript,object,if-statement,ecmascript-6,angular5,Typescript,Object,If Statement,Ecmascript 6,Angular5,我正在尝试构建一个对象,该对象将具有一个键及其值: const codeRed = this.orderInProgressCmsModel.orderStatusColorRed.split(","); const codeGreen = this.orderInProgressCmsModel.orderStatusColorGreen.split(","); const testObj = { colorName: "", colorCodes: []}; 我正在执行以下操作以将信息添

我正在尝试构建一个对象,该对象将具有一个键及其值:

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"}'); 
}

将testObj设置为数组,并按如下方式将值推送到该数组:

const testObj = [];
let itemToPush = {colorName: 'red', colorCodes: 'color-code'}

testObj.push(itemToPush);

将testObj设置为数组,并按如下方式将值推送到该数组:

const testObj = [];
let itemToPush = {colorName: 'red', colorCodes: 'color-code'}

testObj.push(itemToPush);

好的,在仔细考虑之后,我实际上需要的是一个对象数组,所以我做了以下工作:

const testObj: Array<{ colorName: string, colorCodes: string[] }> = [
      { "colorName": "red", "colorCodes": codeRed },
      { "colorName": "green", "colorCodes": codeGreen },
      { "colorName": "black", "colorCodes": codeBlack }
    ];

好的,在仔细考虑之后,我实际上需要的是一个对象数组,所以我做了以下工作:

const testObj: Array<{ colorName: string, colorCodes: string[] }> = [
      { "colorName": "red", "colorCodes": codeRed },
      { "colorName": "green", "colorCodes": codeGreen },
      { "colorName": "black", "colorCodes": codeBlack }
    ];