Arrays i javascript på en enkel måte. Øk og avkort en matrise. Omorganisere array-elementer i omvendt rekkefølge - omvendt

Ønsker dere alle en god dag. Alexey Gulynin er i kontakt. I den siste artikkelen analyserte vi switch case-konstruksjonen i javascript. I denne artikkelen vil jeg gjerne fortelle deg hva som er arrays i Javascript... Forestillingen om en matrise spiller viktig rolle ikke bare i Javascript, men i all programmering. En variabel, for eksempel en matrise, inneholder ikke ett element, men flere. Syntaksen for å lage en matrise er som følger:

Var mas = ny matrise (verdi1, verdi2, ..., verdiN);

V i dette tilfellet en mas-variabel av typen array lages med verdiene spesifisert i parentes. Vær oppmerksom på at matrisen er opprettet med det nye nøkkelordet. Du kan referere til elementene i en matrise ved å spesifisere navnet på matrisen og inn firkantede parenteser array indeks. Matriseindeksen er nullbasert. La oss gi et eksempel på en matrise med 4 elementer og gi ut 2 elementer:

Hvis vi setter mas, vil den skrive ut "liguster", siden array-indeksering starter på null. La oss nå finne ut hvordan vi viser alle elementene i en matrise. For å gjøre dette må du bruke en løkke. I tillegg til å kunne løkker i Javascript, må du kjenne lengdeegenskapen til arrays, som returnerer antall elementer i en array (eller, med andre ord, lengden). La oss skrive ut lengden på mas-matrisen:

Sende ut alle elementene i en matrise:

Så langt har vi sett på endimensjonale arrays. Generelt kan arrays være flerdimensjonale. Det viktigste er å forstå at for eksempel en todimensjonal matrise er en matrise hvis elementer er matriser. La oss analysere følgende problem med deg: du må lage en todimensjonal matrise 3 x 3, hvis elementer er satt av brukeren og viser denne matrisen. Her vil vi bruke ledetekstoperatoren for å be brukeren om et nummer:

I vårt tilfelle tilsvarer en todimensjonal matrise (for eksempel) følgende struktur: mas = [,,]. Du kan se at matrisen har 3 elementer, som hver er en matrise i seg selv.

Opprinnelig var Javascripts oppgave å lage dynamiske nettsteder. I min praksis har jeg ikke brukt noe sted todimensjonale arrays, bare endimensjonal, så kunnskapen om matriser som du fikk fra denne artikkelen vil være ganske nok. I en av de følgende artiklene vil jeg snakke om Array-objektet, dets egenskaper og metoder.

Hva er en Array

Array er en datatype som lagrer nummererte verdier. Hver nummererte verdi kalles et element i matrisen, og tallet elementet er assosiert med kalles dets indeks. JavaScript-matriser er utype, noe som betyr at et matriseelement kan være av hvilken som helst type, og forskjellige elementer en matrise kan ha forskjellige typer... I tillegg JavaScript-matriser er dynamiske, noe som betyr at deklarering fast størrelse er unødvendig og nye elementer kan legges til når som helst.

Oppretting av matriser

En matrise kan opprettes på to måter, den første er å lage en matrise ved å bruke en matrise literal - firkantede parenteser, innenfor hvilken det er en liste over elementer atskilt med kommaer.

Var tom =; // tomme array var tall =; // array med 5 numeriske elementer var diff =; // array med 3 elementer av ulike typer

Verdier trenger ikke å være enkle (tall eller strenger) - de kan også være et hvilket som helst annet uttrykk, for eksempel bokstavelige objekter, andre matriser eller funksjoner.

Var num = 700; var tab =, num + 1];

Den andre måten å lage en matrise på er ved å kalle opp Array ()-konstruktøren. Det er tre måter å kalle Array ()-konstruktøren.

  • Kalle en konstruktør uten argumenter:
var b = new Array ();

I dette tilfellet opprettes en tom matrise som tilsvarer en tom bokstav.

  • Konstruktøren spesifiserer eksplisitt verdiene til n matriseelementer:
var b = new Array (1, 3, 5, 8, "streng", sann);

I dette tilfellet mottar konstruktøren en liste over argumenter som blir elementer i den nye matrisen. Argumentene skrives til matrisen i den rekkefølgen de er spesifisert.

  • Tildeling av plass for etterfølgende tildeling av verdier. Dette gjøres ved å spesifisere, når du definerer en matrise, ett tall i parenteser:
var b = new Array (5);

Denne måten å definere en matrise på innebærer å allokere et visst antall elementer til en matrise (som hver har verdien udefinert) med mulighet for påfølgende tilordning av verdier under skriptet. Denne formen brukes vanligvis til forhåndsplassering av en matrise hvis lengden er kjent på forhånd.

Lese, skrive og legge til array-elementer

Array-elementer åpnes ved å bruke operatøren. Matriseelementer i JavaScript er nummerert fra null. For å oppnå nødvendig element array, må du spesifisere nummeret i hakeparenteser.

Var tall =; document.write (tall + ","); // første element i matrisen document.write (tall + ","); // andre element i arrayen document.write (tall + ","); // tredje element i matrisen document.write (tall); // fjerde element i matrisen

Matriseelementer kan endres:

Var tall =; tall = 10; // endret det første elementet i matrisen -

Å legge til ny gjenstand array, er det nok å tilordne en ny verdi:

Var tall =; tall = 7; // ble til

Merk: JavaScript-matriser kan lagre et hvilket som helst antall elementer av enhver type.

Array lengde

Alle matriser, enten de er opprettet ved hjelp av Array ()-konstruktøren eller definert med en matriseliteral, har spesiell eiendom lengde som kommer tilbake totalt antall elementene som er lagret i matrisen. Siden matriser kan ha udefinerte elementer (som har verdien udefinert), er en mer presis formulering som følger: lengdeegenskapen er alltid én større enn den største indeksen (tallet) til matriseelementet. Lengde-egenskapen oppdateres automatisk for å forbli korrekt når nye elementer legges til matrisen.

Var v = new Array (); // v.length == 0 (ingen element definert) v = new Array (1,2,3); // v.length == 3 (elementene 0–2 er definert) v =; // v.length == 2 (elementene 0 og 1 er definert) document.write (v.length);

For å få det siste elementet i en matrise, kan du også bruke egenskapen length:

Var v = ["JavaScript", "Property", "Arrays"]; document.write (v);

Det siste elementet har en indeks 1 mindre enn lengden på matrisen, siden den starter fra null. Derfor, hvis du ikke vet det nøyaktige antallet elementer, men du må referere til det siste elementet i matrisen, brukes følgende post: v.length - 1.

Iterering over array-elementer

Lengde-egenskapen brukes oftest til å iterere over elementene i en matrise i en løkke:

Dette eksemplet forutsetter at array-elementene er kontinuerlige og starter ved det første elementet (ved indeks 0). Hvis dette ikke er tilfelle, før du får tilgang til hvert element i arrayet, må du sjekke om det er definert:

Var frukt = ["eple", "banan", "jordbær", "fersken"]; for (var i = 0; i

En løkke kan også brukes til å initialisere array-elementer:

Var bar = ny Array (10); for (var i = 0; i

Kutt av og utvid en matrise

Når du jobber med arrays oppdateres lengdeegenskapen automatisk, så vi trenger ikke å bekymre oss for det selv. Men det er verdt å nevne én ting - lengdeegenskapen er ikke bare lesbar, men også skrivbar. Hvis lengdeegenskapen er satt til en verdi mindre enn den gjeldende, avkortes matrisen til den nye (spesifiserte) lengden, alle elementer som ikke faller inn i det nye indeksområdet blir forkastet og verdiene deres går tapt, selv om du deretter returnerer lengden tilbake - verdiene vil ikke bli gjenopprettet.

Var foo =; foo.length = 1; // forkorte til 1 element - foo.length = 4; // gjenopprett forrige antall elementer document.write (foo); // ingen tidligere verdi

Det meste på en enkel måte tømme arrayet vil være: foo.length = 0.

Hvis lengdeegenskapen gjøres større enn gjeldende verdi, legges nye udefinerte elementer til på slutten av matrisen, og øker matrisen til den angitte størrelsen.

Fjerne array-elementer

Slette-operatoren skriver udefinert til et array-element, mens selve elementet fortsetter å eksistere. For å fjerne elementer slik at de gjenværende elementene flyttes til den ledige plassen, må du bruke en av de forhåndsdefinerte matrisemetodene. Metoden Array.shift () fjerner det første elementet i en matrise, pop () - det siste elementet i en matrise, spleisemetoden () - ett eller en rekke elementer hvor som helst i matrisen. Detaljer om hvordan du bruker disse metodene vil bli beskrevet i neste kapittel.

Flerdimensjonale arrays

Husk at JavaScript-matriser kan inneholde andre matriser som elementer. Denne funksjonen kan brukes til å lage flerdimensjonale arrays... For å få tilgang til elementer i en rekke matriser, er det tilstrekkelig å bruke rammeparenteser to ganger.

Var matrise = [,,]; document.write (matrise); // midtelement valgt

La oss se hva som er skrevet i eksemplet, matrise er en rekke matriser med tall. Ethvert element i matrise [n] er en rekke tall. For å få tilgang til et spesifikt tall i matrisen, skriv matrise [n] [n], de andre firkantede parentesene indikerer indeksen til elementet i den interne matrisen.

// analog forrige innlegg- opprettelse ved hjelp av konstruktøren var table = new Array (3); for (var i = 0; i

Assosiative arrays

Objekter kan brukes som assosiative arrays. Litt teori – assosiative arrays (også kalt hash-tabeller) lar strenger brukes i stedet for indekser. Å bruke assosiative matriser er veldig likt å bruke et egenskapsnavn. vanlig gjenstand, men i dette tilfellet når du arbeider i matriseformat. Siden JavaScript ikke har metoder for å jobbe med assosiative arrays, brukes de mye sjeldnere enn vanlige, selv om de også kan være nyttige for å lagre informasjon og gjøre det lettere å huske elementene som må aksesseres.

Var s_list = nytt objekt (); s_list ["fat"] = "Fett"; s_list ["small"] = "Liten"; s_list ["name"] = "Homer"; for (var x i s_list) // vis alle elementene document.write (s_list [x] + "
");

  • Oversettelse

De fleste applikasjoner som utvikles i dag trenger å samhandle med en slags datasett. Håndtering av gjenstander i samlinger er en vanlig operasjon som du kan ha vært borti. Når du for eksempel jobber med matriser, kan du uten å nøle bruke det vanlige for loop, som ser omtrent slik ut: for (var i = 0; i< value.length; i++){} . Однако, лучше, всё-таки, смотреть на вещи шире.

Anta at vi må vise en liste over produkter, og om nødvendig dele den inn i kategorier, filtrere, søke etter den, endre denne listen eller dens elementer. Du må kanskje raskt utføre noen beregninger som involverer elementene i listen. La oss si at du må legge til noe til noe, multiplisere noe med noe. Finner du verktøy i JavaScript som gjør det raskere og mer praktisk å løse slike problemer enn å bruke en vanlig for loop?

Faktisk gir JavaScript slike fasiliteter. Noen av dem er diskutert i materialet, oversettelsen som vi presenterer for din oppmerksomhet i dag. Spesielt snakker vi om utvidelsesoperatøren, for ... av loop, og inkluderer (), noen (), hver (), filter (), kart () og redusere () metodene. Her skal vi hovedsakelig snakke om arrays, men teknikkene som er omtalt her egner seg som regel for å jobbe med andre typer objekter.

Det skal bemerkes at anmeldelser moderne tilnærminger til utvikling i JS inkluderer de vanligvis eksempler utarbeidet ved hjelp av pilfunksjoner. Kanskje bruker du dem ikke så ofte – kanskje fordi du ikke liker dem, kanskje fordi du ikke vil bruke for mye tid på å lære noe nytt, eller kanskje de rett og slett ikke fungerer for deg. Derfor, her, i de fleste situasjoner, vil to alternativer for å utføre de samme handlingene vises: bruke normale funksjoner(ES5) og bruk av pilfunksjoner (ES6). For de som er nye med pilfunksjoner, merk at pilfunksjoner ikke tilsvarer funksjonserklæringer og funksjonsuttrykk. Det er ikke verdt å erstatte det ene med det andre. Spesielt skyldes dette at i konvensjonelle og pilfunksjoner søkeord dette oppfører seg annerledes.

1. Utvidelsesoperatør

Spredningsoperatoren lar deg "utvide" matriser ved å erstatte deres elementer i stedet for matriser på stedet der denne operatoren brukes. En lignende tilnærming har blitt foreslått for objektbokstaver.

▍ Spread-operatørens styrker

  • Det er enkelt og rask måte"Trekk ut" de individuelle elementene fra arrayet.
  • Denne operatøren er egnet for arbeid med array- og objektliteral.
  • Det er en rask og intuitiv metode for å jobbe med funksjonsargumenter.
  • Spredningsoperatøren tar ikke mye plass i koden – den ser ut som tre prikker (...).

▍ Eksempel

La oss si at du har i oppgave å liste opp favorittgodbitene dine uten å bruke en løkke. Med spredningsoperatøren gjøres dette slik:

2. For ... av loop

For ... av setningen er ment for å krysse gjentakbare objekter. Det gir tilgang til individuelle elementer slike objekter (spesielt - til elementene i arrays), som for eksempel lar dem endres. Det kan betraktes som en erstatning for det vanlige for løkke.

▍Styrken til for... av loop

  • Dette er en enkel måte å legge til eller oppdatere samlingsobjekter på.
  • Løkken for... lar deg utføre ulike beregninger ved hjelp av elementer (addisjon, multiplikasjon og så videre).
  • Det er praktisk å bruke det når du trenger å sjekke eventuelle forhold.
  • Bruk av den fører til renere og mer lesbar kode.

▍ Eksempel

Anta at du har en datastruktur som beskriver innholdet i en verktøykasse, og du vil vise disse verktøyene. Slik gjør du det med en for ... av løkke:

3. Inkluderer ()-metoden

Inkluderer ()-metoden brukes til å sjekke tilstedeværelsen av et bestemt element i samlingen, spesielt for eksempel en bestemt streng i en matrise som inneholder strenger. Denne metoden returnerer sant eller usant avhengig av resultatene av kontrollen. Når du bruker den, må du huske på at den skiller mellom store og små bokstaver. Hvis for eksempel samlingen har strengelement SKOLE, og sjekking av dens tilstedeværelse ved å bruke inkluderer () utføres på skolelinjen, vil metoden returnere falsk.

▍ Styrken til inkluderer ()-metoden

  • Metoden inkluderer () er nyttig for å lage enkle datainnhentingsmekanismer.
  • Det gir utvikleren en intuitiv måte å finne ut om noen data er i en matrise.
  • Det er praktisk å bruke det i betingede uttrykk for å modifisere, filtrere elementer og for å utføre andre operasjoner.
  • Bruken av den fører til forbedret kodelesbarhet.

▍ Eksempel

Anta at du har en garasje representert av en matrise med en liste over biler, og du vet ikke om det er en bestemt bil i denne garasjen eller ikke. For å løse dette problemet, må du skrive en kode som lar deg sjekke tilstedeværelsen av en bil i garasjen. La oss bruke inkluderer ()-metoden:

4. Noen ()-metoden

Some ()-metoden lar deg sjekke om noen av elementene du ser etter finnes i matrisen. Det, basert på resultatene av sjekken, returnerer sant eller usant. Den ligner på include ()-metoden ovenfor, bortsett fra at argumentet er en funksjon og ikke for eksempel en vanlig streng.

▍Noen () metodestyrker

  • Some ()-metoden lar oss sjekke om matrisen inneholder minst ett av elementene av interesse.
  • Den sjekker tilstanden ved å bruke funksjonen som er sendt til den.
  • Denne metoden er praktisk å bruke.

▍ Eksempel

Anta at du er eier av en klubb, og generelt sett er du ikke interessert i hvem som kommer til klubben din. Noen besøkende har imidlertid ikke lov til å komme inn i klubben, da de er utsatt for overdreven inntak av alkoholholdige drikkevarer. i det minste, i tilfelle de havner på din institusjon på egen hånd, og det ikke er noen hos dem som kan passe på dem. I dette tilfellet kan en gruppe besøkende bare komme inn i klubben hvis minst én av dem er minst 18 år. For å automatisere denne typen sjekk, vil vi bruke noen ()-metoden. Nedenfor er applikasjonen demonstrert i to versjoner.

ES5

ES6

5. Hver ()-metoden

Hver () metode itererer over matrisen og sjekker hvert av elementene mot en bestemt betingelse, og returnerer true hvis alle elementene i matrisen oppfyller betingelsen, og false i ellers... Du vil legge merke til at den ligner på noen ()-metoden.

▍ Styrkene til hver () metode

  • Hver ()-metoden lar deg sjekke om alle elementene i en matrise samsvarer med en betingelse.
  • Betingelser kan settes ved hjelp av funksjoner.
  • Det fremmer en deklarativ programmeringstilnærming.

▍ Eksempel

La oss gå tilbake til forrige eksempel. Der tillot man besøkende under 18 år til klubben, men noen skrev en uttalelse til politiet, hvorpå man kom i en ubehagelig situasjon. Etter at alt var avklart bestemte du deg for at du ikke trengte alt dette og strammet inn reglene for å besøke klubben. Nå kan en gruppe besøkende bare komme inn i klubben hvis alderen til hvert medlem av gruppen er minst 18 år. Som i forrige gang vil vi vurdere løsningen av problemet i to versjoner, men denne gangen vil vi bruke metode hver() .

ES5

ES6

6. Filter ()-metoden

Filter ()-metoden lar deg lage, basert på en bestemt matrise, en ny matrise som bare inneholder de elementene i den opprinnelige matrisen som tilfredsstiller den angitte betingelsen.

▍ Filterets styrke () Metode

  • Filter ()-metoden unngår å endre den opprinnelige matrisen.
  • Det lar deg bli kvitt unødvendige elementer.
  • Det forbedrer lesbarheten til koden din.

▍ Eksempel

Anta at du bare må velge fra listen over priser som er større enn eller lik 30. La oss bruke filtermetoden () for å løse dette problemet.

ES5

ES6

7. Kart()-metoden

Map ()-metoden ligner på filter ()-metoden ved at den også returnerer en ny matrise. Imidlertid brukes den til å endre elementene i den originale matrisen.

▍Kart()-metodens styrke

  • Map ()-metoden unngår behovet for å endre elementene i den originale matrisen.
  • Det er praktisk å endre array-elementer med dens hjelp.
  • Det forbedrer lesbarheten til koden din.

▍ Eksempel

Anta at du har en liste over produkter med priser. Din leder trenger ny liste varer, hvis priser er redusert med 25 %. La oss bruke kartmetoden () for å løse dette problemet.

ES5

ES6

8. redusere () metode

Reduser ()-metoden, i sin enkleste form, lar deg summere elementene i numeriske matriser. Med andre ord konverterer den matrisen til en enkelt verdi. Dette gjør at den kan brukes til å utføre ulike beregninger.

▍ Styrken til reduseringsmetoden ().

  • Reduksjonsmetoden () kan brukes til å beregne summen eller gjennomsnittet av elementene i en matrise.
  • Denne metoden øker hastigheten og forenkler beregningene.

▍ Eksempel

Anta at du må beregne utgiftene dine for uken, som er lagret i en matrise. La oss løse dette problemet ved å bruke reduser ()-metoden.

ES5

ES6

Legg til merkelapper

Matriser er en av de mest brukte typene variabler som lar deg lagre mange påfølgende verdier på "ett sted". Men når det kommer til JavaScript, er det mye å slippe.

I denne artikkelen skal vi ta en titt på tre lite kjente teknikker som du kan bruke når du arbeider med matriser.

1. Legge til egendefinerte egenskaper til matriser

Hvis du bruker søk for å finne definisjonen av en matrise innenfor JavaScript-språk, så vil det i de fleste kilder hevdes at gitt type verdien av en variabel er representert som et objekt.

Generelt sett er mange ting vi møter i JavaScript objekter. Det vil være rettferdig å merke seg at språket også inneholder "primitive" datatyper, men verdiene deres brukes på en eller annen måte i egenskaper inne i objekter.

2. Tilgang til array-elementer i en loop

Siden matriseindekser bare kan ha positive verdier, starter opprinnelsen på null. Deretter kan vi bruke denne indeksen for å få tilgang til array-elementet ved denne iterasjonen av løkken.

ECMAScript6 introduserte en måte å løkke gjennom en matrise uten å bruke indekser, og gjennom en ny for ... av løkke.

For ... av løkken er designet for å iterere over elementene i en matrise uten å påvirke elementets indeks.

Var ary = ["appelsin", "eple", "litchi"]; for (la element av ary) (console.log (item);) // "oransje", "eple", "lychee" Til sammenligning: viser indeksene til elementer i en for-løkke. var ary = ["appelsin", "eple", "litchi"]; for (var element = 0; element< ary.length; item++){ console.log(item); } // 0, 1, 2

3. Antall elementer er ikke dimensjonen til matrisen

Når vi snakker om dimensjonen til en matrise, tenker vi vanligvis at vi mener antall elementer som er lagret i den. Faktisk er dette ikke helt sant - lengdeegenskapen beregnes avhengig av elementets maksimale indeks.

Lengdeegenskapen er svært tvetydig. For å være overbevist om dette, se bare på følgende manipulasjoner:

Var ary =; ary.length = 3; console.log (ary.length); // 3 ary = "abcd"; console.log (ary.length); // 6

I det siste eksemplet var det nok å sette elementet i den femte posisjonen, som et resultat av at lengden på matrisen ble 6. Hvis du tror at indekser fra 0 til 4 vil bli opprettet automatisk, vil du ta feil. Dette kan verifiseres ved å bruke in-operatøren.

Var ary =; ary.length = 3; console.log (ary.length); // 3 ary = "abcd"; console.log (ary.length); // 6 console.log (0 i ary); // falsk

I dette tilfellet vil det være rettferdig å kalle matrisen "sparsom".

Vi kan også manipulere lengdeegenskapen for å trimme arrayene. Eksemplet nedenfor demonstrerer "tapet" av element ved indeks 5 ved å redusere verdien av lengdeegenskapen til arrayen.

Var ary =; ary.length = 3; console.log (ary.length); // 3 ary = "abcd"; console.log (ary.length); // 6 ary.length = 2; console.log (ary.length); // 2 console.log (ary); // udefinert

I JavaScript, så vel som i andre programmeringsspråk, brukes forskjellige metoder for å jobbe med arrays.

Metoder gjør det enkelt å bygge logikk og implementere den i et skript.

Nedenfor er grunnleggende metoder for arbeid med arrays i JS.

trykk

Push ()-metoden legger til en verdi på slutten av matrisen.

La arr =; arr.push (312); console.log (arr); // →

pop

Pop ()-metoden fjerner det siste elementet fra matrisen eller returnerer verdien.

La arr =; arr.pop (); console.log (arr); // →

Ved å bruke muligheten til å få verdien av det siste elementet i matrisen, som et eksempel, kan vi få bildeformatet:

La img = "https://example.com/img/navn.png"; la format = img.split ("."). pop (); console.log (format); // → png console.log (img.split (".")); // → ["https: // eksempel", "com / img / navn", "png"]

unshift

Unshift ()-metoden legger til et element i begynnelsen av matrisen.

La arr =; arr.unshift (312); console.log (arr); // →

skifte

Shift ()-metoden fjerner det første elementet fra matrisen.

La arr =; arr.shift (); console.log (arr); // →;

Du må forstå det når du søker skiftmetoder og unshift hvert element i matrisen endrer indeksen. Dette kan redusere programkjøringen hvis arrayen er lang.

dele

Splitt ()-metoden brukes til å transformere en streng til en matrise. Split deler en streng med den angitte parameteren.

La str = "Anya, Masha, Sasha, Dasha"; // dette er en streng la arr = str.split (","); console.log (arr); // → ["Anya", "Masha", "Sasha", "Dasha"] er en matrise

bli med

Metoden join () slår sammen elementene i en matrise til en streng, atskilt med skilletegnet som er spesifisert i parameteren.

La arr = ["Notpad ++", "Sublime", "VSCode"]; // dette er en matrise la str = arr.join (","); console.log ("Redaktører for koden:" + str); // → "Redaktører for kode: Notpad ++, Sublime, VSCode"

skive

Slice ()-metoden oppretter en ny matrise der den kopierer elementer fra kilden fra elementet med indeksen til den første parameteren sendt til metoden, opp til elementet med indeksen til den andre parameteren.

For eksempel: skive (3, 7) vil returnere elementer med indeksene 3, 4, 5, 6. Elementet med indeks 7 vil ikke bli inkludert i matrisen.

Hvis en parameter sendes til skive () med negativ verdi, så returnerer den en ny matrise med antallet elementer spesifisert i parameteren, men allerede tatt fra slutten av den opprinnelige matrisen.

Slicemetoden endrer ikke den opprinnelige matrisen.

Her er noen eksempler på hvordan slice ()-metoden fungerer:

La arr = ["A", "B", "C", "D", "E", "F", "G"]; // Returnerer en matrise som inneholder elementer med indekser fra 2 til 5 console.log (arr.slice (2, 5)); // → ["C", "D", "E"] // Returnerer en ny matrise som inneholder elementer med indekser fra 3 til arr.length console.log (arr.slice (3)); // → ["D", "E", "F", "G"] // Returnerer en kopi av den originale arrayen console.log (arr.slice ()); // → ["A", "B", "C", "D", "E", "F", "G"] // Returnerer en ny matrise bestående av siste tre elementer i den originale console.log (arr.slice (-3)); // → ["E", "F", "G"]

skjøte

Spleisemetoden () modifiserer innholdet i matrisen ved å fjerne eksisterende elementer og/eller legge til nye.

Syntaks:

Array.splice (start, deleteCount [, item1 [, item2 [, ...]]])

Alternativer:

  • start- Indeksen for å begynne å endre matrisen. Hvis den er større enn lengden på matrisen, vil den reelle indeksen settes til lengden på matrisen. Hvis negativ, spesifiserer indeksen til elementet fra slutten.
  • deleteCount- Et heltall som indikerer antall gamle elementer fjernet fra matrisen. Hvis deleteCount er 0, slettes ingen elementer. I dette tilfellet må du spesifisere minst ett nytt element. Hvis deleteCount mer mengde elementer som er igjen i matrisen, starter ved indeksstart, så vil alle elementene til slutten av matrisen bli fjernet.
  • vareN- Valgfrie parametere. Elementer som skal legges til i matrisen. Hvis du ikke spesifiserer noe element, vil splice () ganske enkelt fjerne elementene fra matrisen.

Returverdi

Beskrivelse

Hvis antallet innsatte elementer spesifisert er forskjellig fra antallet elementer som er fjernet, vil matrisen endre lengde etter å ha blitt kalt.

La arr = [Barça, Miner, Manchester United, Milan, Real Madrid, Ajax, Juventus]; la nax = arr.spleise (2, 3); arr.spleis (2, 3); console.log (nax); // → [Manchester United, Milan, Real Madrid] console.log (arr); // → [Barca, Miner] arr.splice (1, 0, Zenit, CSKA, Spartak); console.log (arr); // → [Barca, Zenit, CSKA, Spartak, Shakhtar]

omvendt

Omvendt ()-metoden reverserer rekkefølgen til matriseelementene. Som et resultat blir det første elementet i matrisen det siste, og det siste elementet er det første.

La arr =; console.log (arr.reverce ()); // → console.log (["Alice", "BG", "GO", "DDT"]. Tilbake ()); // → ["DDT", "GO", "BG", "Alice"]

kart

Map ()-metoden itererer over elementene i matrisen og utfører de angitte handlingene med dem og returnerer en kopi av matrisen med de endrede elementene.

I eksemplet nedenfor, til hvert element i matrisen, legg til verdien av indeksen til dette elementet (7 + 0, 2 + 1, 15 + 2, 4 + 3, 31 + 4):

La arr =; la testMap = arr.map ((element, indeks) => element + indeks); console.log (testMap); //

eller, for eksempel, multipliserer vi hver verdi av matrisen med 12

La arr =; la testMap = arr.map (a => a * 12); console.log (testMap); // →

filter

Filter ()-metoden brukes til å filtrere matriser. Den går gjennom matrisen og returnerer bare de elementene som oppfyller den angitte betingelsen.

Filtrer for eksempel verdiene til matrisen fra tallene, og la bare de som er større enn 21

La arr =; la testFilter = arr.filter (element => element> 21); console.log (testFilter); // →

Merk at 21 ikke var inkludert i resultatet av matrisen, siden betingelsen var å returnere noe som er større enn 21. For at 21 skal komme inn i matrisen, settes betingelsen som større enn eller lik: element> = 21

redusere

Reduksjonsmetoden () går sekvensielt gjennom elementene i matrisen, mens den akkumuleres mellomresultat i henhold til funksjonen spesifisert i handlingsbetingelsen. Til slutt returnerer den bare én verdi.

Denne metoden brukes ofte for å finne summen av alle tallene i en matrise. Eksempel:

La arr =; la summa = arr.reduce ((acc, element) => acc + element); console.log (summa); // → 370

sortere

Sorteringsmetoden () brukes til å sortere elementene i en matrise i henhold til de angitte parameterne.

Eksempel - ta en rekke tall og sorter dem i stigende rekkefølge:

La arr =; la testSortArr = arr.sort ((a, b) => a - b); console.log (testSortArr); // →

inkluderer

Inkluderer ()-metoden bestemmer om matrisen inneholder spesifikt element, returnerer sant eller usant avhengig av dette.

Et eksempel på bruk inkluderer ().

Her er et logisk uttrykk:

La dyr = "hund"; if (dyr == "katt" || dyr == "hund" || dyr == "løve" || dyr == "hest") (// ........)

ved å bruke inkluderer metoden kan skrives slik:

La dyr = "hund"; const animals = ["katt", "hund", "løve", "hest"]; if (dyr.inkluderer (dyr)) (// ...........)