Iterera över arrayer med for-loop
Svep för att visa menyn
Korrekt arrayhantering börjar med loopar!
Du känner redan till vad arrayer är, och att indexeringen i dem börjar från noll. Du vet också att vi i en for-loop kan tilldela vilket värde som helst till variabeln i. Till exempel noll! Men vad händer om det är praktiskt för oss att använda en for-loop tillsammans med en array? Låt oss fundera på det:
- Om vi behöver hämta ett element från arrayen, använder vi
array[index];; - Vi har variabeln
i, som effektivt ersätter vårt index; - Genom att kombinera de två ovanstående punkterna kan vi dra slutsatsen att vi kan använda syntaxen
array[i]inuti en for-loop för att arbeta snabbt med en array. Låt oss titta på ett exempel:
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]}`) }
Låt oss gå igenom vad som händer i koden ovan:
- Vi skapar en array av typen
numbermed 10 element; - Vårt mål är att undersöka varje element i arrayen och ta reda på vilket index det befinner sig på;
- Eftersom indexeringen i arrayen börjar från 0, har vår variabel
iinitialt värdet 0. Vi sätter också gränsen lika med längden på arrayen, vilket är 10; - Eftersom
iär indexet för elementet, hämtar vi arrayens element och visar dem på skärmen med hjälp avarray[i];; - Eftersom
iär indexet för elementet i arrayen, visar vi direkt vilket index ett visst element befinner sig på.
På detta sätt kan vi interagera med arrayen. Låt oss ge oss själva en annan uppgift: att hämta varje element som finns på ett jämnt index i denna 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]}`) }
Genom att använda i+=2, vilket är ekvivalent med i = i + 2, hämtar vi varje element i arrayen som finns på en jämn indexposition. Med andra ord ska elementets index vara delbart med 2. Sådana index är 0, 2, 4, 6 och så vidare. Observera också att med i kan vi visa elementets index, som vi gjorde i exemplet ovan.
För övrigt behöver vi inte manuellt räkna ut arrayens storlek! Vi kan använda array-egenskapen array.length. Låt oss titta på ett exempel och samtidigt se hur man kan iterera genom arrayen från slutet till början (om du behöver gå igenom arrayen i omvänd ordning).
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 exemplet ovan initierades i som array.length - 1 eftersom array.length är 10, och det sista elementet i arrayen har index 9. Detta beror på nollbaserad indexering.
Dessutom kan array.length användas inte bara för initiering utan även i villkoret. Det finns många olika exempel på detta; det enda som krävs är lite fantasi och specifika användningsområden. Till exempel:
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]") } }
Om värdet av arrayens längd minus index är delbart med 2, visas det elementet. Annars visas 'DELETED DATA' – det är chefens order.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal