所以我试图为每个对象创建一个,但是我做不到,而且我真的不知道为什么。
所以我有这个:
export class ProcessesModel {
processName: string
status: string
然后我从此类中将变量制成数组:
processStatus: ProcessesModel[] = [];
然后我通过推送将值发送到变量,就像这样:
getProcessState(refDate: string) {
this.processStatus = new Array<ProcessesModel>();
for (const pClass of Array.from(this.processClasses.keys())) {
this.dasboardService.getProcessSate(pClass, refDate)
.then(
(state) => {
switch (state) {
case 'Successful':
this.processClasses.set(pClass, 'input successful');
this.processStatus.push({processName: pClass, status: 'input successful'});
break;
case 'Executing':
this.processClasses.set(pClass, 'input inprogress');
this.processStatus.push({processName: pClass, status: 'input inprogress'});
break;
case 'Error':
this.processClasses.set(pClass, 'input error');
this.processStatus.push({processName: pClass, status: 'input error'});
break;
case 'Not Executed':
this.processClasses.set(pClass, 'input');
this.processStatus.push({processName: pClass, status: 'input'});
break;
default:
this.processClasses.set(pClass, 'input');
this.processStatus.push({processName: pClass, status: 'input'});
}
},
(error) => {
this.processClasses.set(pClass, 'input error');
this.processStatus.push({processName: pClass, status: 'input error'});
});
}
然后,我向该变量发送一个eventEmitter,当我对该变量进行订阅时,它不允许我执行foreach循环。它什么也没做,甚至没有错误。
当我打印一个普通对象而不是这个对象时,它的打印方式如下:
我可以在第一个对象中进行前移,但不能在第二个对象中进行...
编辑:当我收到所有数据时,我保存到一个新变量中:
processes: Array<any> = [];
这是我的订阅:
this.captoolsComp.processes.subscribe((processes) => {
this.processes = processes;
processes.forEach(process => {
this.setProcState(process.processName, process.status);
});
答案 0 :(得分:0)
我的内容是数组,它的对象为
{ status: 1}
{ status: 0}
{ status: 1}
所以我想遍历每个对象,然后修改元素,使其以这种方式工作
rowData : any;
x: any;
this.rowData = response['CONTENT'];
console.log( this.rowData);
this.rowData.forEach( (element) => {
this.x = element.status ;
if ( this.x = 1) {
element.status = 'Open';
}
else {
element.status = 'Close';
}
});
console.log( this.rowData);
所以现在我在最终的console.log中获得了修改后的json