как фильтровать данные из массива и применять условия angular8 - PullRequest
0 голосов
/ 30 мая 2020

Я получаю ниже образцы данных из api динамически.

Кто-нибудь может предложить, как применить условие на основе данных.

Ответы [ 3 ]

0 голосов
/ 30 мая 2020

Поскольку ваши поставщики представляют собой массив строк, и вы просто сравниваете его со строкой, поэтому во всех случаях он будет проверять условие.

Таким образом, вам нужно проверить строки в массиве и сравнить их с 'All ', чтобы правильно проверить состояние. Итак, ваш код должен выглядеть так:

if(!this.tabSchemaDetails.schema_context.providers.includes('All')){
     request['schema_context']=this.createConditionsData();
 }
0 голосов
/ 30 мая 2020

, как говорили здесь другие, вы должны проверять значения в массиве «провайдеров». поскольку вам просто нужно проверить provider! = 'All', вы можете просто проверить первый элемент в массиве, как показано ниже.

if (this.tagSchemaDetails.schema_context.providers[0] !== 'All') {
        request['schema_context'] = this.createConditionsData();
    } 
0 голосов
/ 30 мая 2020

Вам нужно проверить значения в массиве

if (this.tagSchemaDetails.schema_context.providers.indexOf('All') < 0) {
   request['schema_context'] = this.createConditionsData();
} 
...