Telle elementer i en matrise som samsvarer med en tilstand ved hjelp av JavaScript

Telle elementer i en matrise som samsvarer med en tilstand ved hjelp av JavaScript
En matrise er en vanlig datastruktur for å lagre data i JavaScript. Noen ganger ønsker utviklere å telle elementene i en matrise under en spesifikk tilstand, for eksempel hvor mange positive tall eller negative tall som finnes i matrisen, de jevn/oddetallene fra tallarrayen, og så videre.

Dette innlegget vil beskrive metodene for å telle elementer i en matrise som samsvarer med den spesielle tilstanden i JavaScript.

Hvordan telle elementer i en matrise som samsvarer/tilfredsstiller tilstanden ved hjelp av JavaScript?

For å telle elementer i en matrise som samsvarer med den spesifikke tilstanden, bruker du følgende metoder:

  • Filter () Metode med en lengdeegenskap
  • Reduser () Metode

Metode 1: Telleelementer i en matrise som samsvarer med en tilstand ved bruk av filter () -metode med lengdeegenskap

For å telle elementer i en matrise basert på tilstand, bruk "lengde”Eiendom med“filter()”Metode. Filter () -metoden itererer matrisernes elementer og sjekker den spesifiserte tilstanden, og deretter får lengdenegenskapen antallet eksisterende elementer som samsvarer med tilstanden. Filter () -metoden gir en rekke ekte verdier som returneres av tilbakeringingsfunksjonen til den opprinnelige matrisen.

Syntaks

Bruk den gitte syntaks for filter () -metoden med lengdeegenskap for å telle elementene i en matrise:

filter ((element, indeks) => // uttalelser).lengde

filter()”Metode tar to parametere”element”Og“indeks”Og ringer en tilbakekallingsfunksjon:

  • element”Er det nåværende elementet i matrisen som blir behandlet.
  • indeks”Er plasseringen av det nåværende elementet.
  • Tilbakeringingsfunksjonen utfører hver matrise element, og den returnerer verdien til filter () -metoden.

Eksempel

Først må du lage en rekke tall:

var array = [-8, -4, -2, 0, 2, 4, 6, 8, 10];

Ring filter () -metoden og tell elementene større enn 0 ved å sjekke tilstanden:

const count = matrise.filter (arr =>
if (arr> 0)
return True;

return falsk;
).lengde;

Skriv ut den resulterende tellingen på konsollen:

konsoll.logg (telling);

Utgangen vises “5”, Som betyr at det er 5 elementer i en matrise større enn 0:

Metode 2: telleelementer i en matrise som samsvarer med en tilstand ved hjelp av redusere () -metoden

For å telle elementer i en matrise basert på tilstand, er det en annen metode som heter "redusere()”Metode. Reduser () -metoden kaller først en tilbakeringingsfunksjon på hver matrise element og gir en enkelt verdi som en utgang.

Syntaks

Syntaksen for redusere () -metoden er som følger:

Reduser ((akkumulator, CurrentValue, CurrentIndex, Array) => // uttalelse

redusere()”Metode tar fire parametere og påkaller en tilbakekallingsfunksjon:

  • akkumulator”Er den resulterende verdien av forrige samtale med tilbakeringingsfunksjonen.
  • nåværende verdi”Er det nåværende elementet som blir behandlet.
  • CurrentIndex”Er plasseringen av det nåværende elementet.
  • Array”Er den spesifiserte matrisen.
  • Her, i det gitte eksemplet, vil vi si “elementer”Som en akkumulator og“arr”Som en matrise der reduksjonsmetoden blir bedt om.

Eksempel

Ring redusere () -metoden på matrisen og tell elementene ved å sjekke matriseelementene større enn 0. Hvis tilstanden er sann, legger tilbakeringingsfunksjonen til 1 i det eksisterende elementet og går tilbake til "redusere()”Metode:

const count = matrise.redusere ((elementer, arr) =>
if (arr> 0)
Returelementer + 1;

returelementer;
, 0);

Til slutt, skriv ut tellingen på konsollen:

konsoll.logg (telling);

Produksjon

Vi har samlet viktige instruksjoner som er relevante for å telle matriseelementene basert på den spesifikke tilstanden.

Konklusjon

For å telle matriseelementer, bruk "lengde”Eiendom med“filter()”Metode og“redusere()”Metode. Både reduserer () og filter () metoder bruker en tilbakeringingsfunksjon som vil utføre for hvert arrays element og returnere verdier til metoden. I dette innlegget beskrev vi metodene for å telle elementer i en matrise som samsvarer med den spesielle tilstanden i JavaScript.