Доступ к данным с использованием циклов, чтобы проверить, существуют ли данные в массивах - PullRequest
0 голосов
/ 28 октября 2019

У меня есть следующий метод, я хочу использовать три переменные, объявленные в первых трех строках, вместо проверки жестко закодированных значений с помощью цикла 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...