Iteration Over Arrays Med For-Løkke
Stryg for at vise menuen
Korrekt array-manipulation begynder med løkker!
Du kender allerede til arrays, og at indeksering i dem starter fra nul. Du ved også, at vi i en for-løkke kan tildele enhver værdi til variablen i. For eksempel nul! Men hvad nu hvis det er praktisk for os at bruge en for-løkke sammen med et array? Lad os overveje det:
- Hvis vi skal hente et element fra arrayet, bruger vi
array[index];; - Vi har variablen
i, som effektivt erstatter vores indeks; - Ved at kombinere de to punkter ovenfor kan vi konkludere, at vi kan bruge syntaksen
array[i]inde i en for-løkke for hurtigt at arbejde med et array. Lad os se på et eksempel:
12345let array: number[] = [2, 4, 6, 1, 7, 1, 4, 77, 23, 0]; for (let i: number = 0; i < 10; i++) { console.log(`The ${i} element in the array is ${array[i]}`) }
Lad os gennemgå, hvad der sker i koden ovenfor:
- Vi opretter et array af typen
numbermed 10 elementer; - Målet er at inspicere hvert element i arrayet og finde ud af hvilket indeks det er placeret på;
- Da indeksering i arrayet starter fra 0, har vores variabel
ioprindeligt værdien 0. Vi sætter også grænsen lig med længden af arrayet, som er 10; - Da
ier elementets indeks, henter vi array-elementerne og viser dem på skærmen ved hjælp afarray[i];; - Da
ier indekset for elementet i arrayet, viser vi straks, hvilket indeks et bestemt element er placeret på.
På denne måde kan vi interagere med arrayet. Lad os stille os selv en anden opgave: at hente hvert element, der er placeret på et lige indeks i dette array:
12345let array: number[] = [2, 4, 6, 1, 7, 1, 4, 77, 23, 0]; for (let i: number = 0; i < 10; i+=2) { console.log(`The ${i} element in the array is ${array[i]}`) }
Ved at bruge i+=2, hvilket svarer til i = i + 2, henter vi hvert element i arrayet, der er placeret på en lige indeks. Med andre ord skal elementets indeks være deleligt med 2. Sådanne indekser er 0, 2, 4, 6 og så videre. Bemærk også, at vi med i kan vise elementets indeks, som vi gjorde i eksemplet ovenfor.
I øvrigt behøver vi ikke manuelt at tælle størrelsen på arrayet! Vi kan bruge array-egenskaben array.length. Lad os se på et eksempel, og samtidig se, hvordan man kan iterere gennem arrayet fra slutningen til begyndelsen (hvis du har brug for at gennemløbe arrayet i omvendt rækkefølge).
12345let array: number[] = [2, 4, 6, 1, 7, 1, 4, 77, 23, 0]; for (let i: number = array.length - 1; i >= 0; i--) { console.log(`The ${i} element in the array is ${array[i]}`) }
I eksemplet ovenfor initialiseres i som array.length - 1, fordi array.length er 10, og det sidste element i arrayet har indekset 9. Dette skyldes nul-baseret indeksering.
Derudover kan array.length anvendes ikke kun til initialisering, men også i betingelsen. Der findes mange forskellige eksempler på dette; det kræver blot lidt fantasi og specifikke anvendelsestilfælde. For eksempel:
123456789let array: number[] = [2, 4, 6, 1, 7, 1, 4, 77, 23, 0]; for (let i: number = 0; i < array.length; i++) { if ((array.length - i) % 2 == 0) { console.log(`The ${i} element in the array is ${array[i]}`) } else { console.log("[DELETED DATA]") } }
Hvis værdien af arrayets længde minus indekset er delelig med 2, vises dette element. Ellers vises 'DELETED DATA' - det er chefens ordre.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat