У меня есть следующий метод, я хочу использовать три переменные, объявленные в первых трех строках, вместо проверки жестко закодированных значений с помощью цикла for и добавить его в res. Я пытался следовать так, чтобы мне нужно было только изменить значения в successStates & failedStates
getJobFilter() {
let successStates = ['ACCEPTED_STATE','ACTIVE_STATE'];
let failedStates = ['INACTIVE_STATE'];
let otherStates = ['UNKNOWN'];
let res = [];
let filter =
JSON.parse(sessionStorage.getItem('cdgFilter') || '{}');
for (let key in filter) {
if (key) {
if (key === 'collection_status') {
let filterVal:any;
Object.keys(this.listOfJobStates).forEach(eleKey =>
{
if (this.listOfJobStates[eleKey] ===
filter[key].filter) {
filterVal = eleKey;
}
});
// storedFilter
let filter1, filter2;
// if(successStates.find(x => x === filterVal)){
// filter1 = successStates[0];
// filter2 = successStates[1];
// }
if (filterVal === "SUCCESSFUL") {
filter1 = 'ACTIVE_STATE';
filter2 = 'ACCEPTED_STATE';
} else if (filterVal === "FAILED") {
filter1 = 'UNKNOWN_STATE';
filter2 = 'INACTIVE_STATE';
}
res.push(
{
'field': 'State',
'value': filter1
},
{
'field': 'State',
'value': filter2
}
);
} else {
res.push({'field': key, 'value': filter[key].filter});
}
}
}
return res;
}