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 }
];