Как получить количество переменных в массиве в Angular 8 - PullRequest
1 голос
/ 02 апреля 2020

Вот мои примеры данных

    this.factorList = [ 
    {      
    factorEnrollment: "OPTIONAL",
    factorProvider: "OKTA",
    factorStatus: "NOT_SETUP",
    factorType: "call"
  },
    {  
    factorEnrollment: "OPTIONAL",
    factorProvider: "OKTA",
    factorStatus: "NOT_SETUP",
    factorType: "sms"
  },
  {  
    factorEnrollment: "REQUIRED",
    factorProvider: "OKTA",
    factorStatus: "NOT_SETUP",
    factorType: "sms"
  }
    ];

Как получить счетчик того, сколько FactorEnrollment: "REQUIRED" находится в массиве выше в angular 8?

Ответы [ 6 ]

0 голосов
/ 02 апреля 2020

вы можете использовать оператор javascript array.filter.

let matches: number = this.factoryList.filter( item => item.factorEnrollment === 'REQUIRED').length

, который вернет количество элементов, соответствующих вашим критериям

вы также можете использовать оператор reduce, если хотите

0 голосов
/ 02 апреля 2020

@ Margerine

Вы можете использовать методы массива 'filter'

`factorList.filter(factor => factor.factorEnrollment === 'REQUIRED')`
0 голосов
/ 02 апреля 2020

Вы можете использовать метод фильтра как

 let count = this.factorList.filter(x => x.factorEnrollment === 'REQUIRED').length;
0 голосов
/ 02 апреля 2020

Вы можете отфильтровать массив по требуемому условию и получить длину этого массива.

const factorList = [ 
    {      
    factorEnrollment: "OPTIONAL",
    factorProvider: "OKTA",
    factorStatus: "NOT_SETUP",
    factorType: "call"
  },
    {  
    factorEnrollment: "OPTIONAL",
    factorProvider: "OKTA",
    factorStatus: "NOT_SETUP",
    factorType: "sms"
  },
  {  
    factorEnrollment: "REQUIRED",
    factorProvider: "OKTA",
    factorStatus: "NOT_SETUP",
    factorType: "sms"
  }
    ];
    
 
 const filtered = factorList.filter(x => x.factorEnrollment === 'REQUIRED');
 
 console.log('Number of required:', filtered.length);
0 голосов
/ 02 апреля 2020

Попробуйте так:

let count = this.factorList.filter(x => x.factorEnrollment == "REQUIRED").length

Рабочая демоверсия

0 голосов
/ 02 апреля 2020

Э-э, вы можете отфильтровать ваш массив:

this.factorList.filter(item => item.factorEnrollment === 'REQUIRED')

А затем просто поместите .length позади него, например:

this.factorList.filter(item => item.factorEnrollment === 'REQUIRED').length
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...