Iterera över arrayer med for-loop
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
Can you explain how the last code example works in more detail?
What are some other ways to loop through an array in TypeScript?
Can you show how to use a for...of loop with arrays?
Awesome!
Completion rate improved to 2.94
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!