Taulukoiden Läpikäynti For-silmukalla
Oikea taulukon käsittely alkaa silmukoista!
Tiedät jo, mitä taulukot ovat, ja että niiden indeksointi alkaa nollasta. Tiedät myös, että for-silmukassa voimme asettaa muuttujalle i minkä tahansa arvon. Esimerkiksi nolla! Mutta entä jos meille on kätevää käyttää for-silmukkaa yhdessä taulukon kanssa? Mietitäänpä:
- Jos meidän täytyy hakea alkio taulukosta, käytämme
array[index];; - Meillä on muuttuja
i, joka käytännössä korvaa indeksimme; - Yhdistämällä yllä olevat kohdat voimme päätellä, että voimme käyttää
array[i]-syntaksia for-silmukan sisällä työskennelläksemme taulukon kanssa nopeasti. Katsotaanpa esimerkkiä:
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]}`) }
Käydään läpi, mitä yllä olevassa koodissa tapahtuu:
- Luomme taulukon tyyppiä
number, jossa on 10 alkiota; - Tavoitteenamme on tarkastella jokaista taulukon alkiota ja selvittää missä indeksissä se sijaitsee;
- Koska taulukon indeksointi alkaa nollasta, muuttujamme
isaa aluksi arvon 0. Asetamme myös rajaksi taulukon pituuden, joka on 10; - Koska tiedämme, että
ion alkion indeksi, haemme taulukon alkiot ja näytämme ne ruudulla käyttäenarray[i];; - Koska
ion taulukon alkion indeksi, näytämme samalla, millä indeksillä tietty alkio sijaitsee.
Näin voimme olla vuorovaikutuksessa taulukon kanssa. Asetetaan itsellemme toinen tehtävä: haetaan jokainen alkio, joka sijaitsee parillisessa indeksissä tässä taulukossa:
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]}`) }
Käyttämällä i+=2, joka on sama kuin i = i + 2, saadaan jokainen taulukon alkio, joka sijaitsee parillisessa indeksissä. Toisin sanoen, alkion indeksin tulee olla jaollinen kahdella. Tällaisia indeksejä ovat 0, 2, 4, 6 ja niin edelleen. Huomaa myös, että i-muuttujan avulla voidaan näyttää alkion indeksi, kuten yllä olevassa esimerkissä.
Taulukon kokoa ei tarvitse laskea itse! Voidaan käyttää taulukon ominaisuutta array.length. Tarkastellaan esimerkkiä ja samalla nähdään, miten taulukko käydään läpi lopusta alkuun (jos taulukko täytyy käydä läpi käänteisessä järjestyksessä).
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]}`) }
Yllä olevassa esimerkissä alustimme muuttujan i arvolla array.length - 1, koska array.length on 10 ja taulukon viimeisen alkion indeksi on 9. Tämä johtuu nollapohjaisesta indeksoinnista.
Lisäksi voit käyttää array.length-arvoa paitsi alustuksessa, myös ehdossa. Näille kaikille löytyy useita erilaisia esimerkkejä; tarvitset vain hieman mielikuvitusta ja tiettyjä käyttötapauksia. Esimerkiksi:
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]") } }
Jos taulukon pituuden ja indeksin erotus on jaollinen kahdella, näytetään kyseinen alkio. Muussa tapauksessa näytetään 'DELETED DATA' – tämä on esimiehen määräys.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 2.94
Taulukoiden Läpikäynti For-silmukalla
Pyyhkäise näyttääksesi valikon
Oikea taulukon käsittely alkaa silmukoista!
Tiedät jo, mitä taulukot ovat, ja että niiden indeksointi alkaa nollasta. Tiedät myös, että for-silmukassa voimme asettaa muuttujalle i minkä tahansa arvon. Esimerkiksi nolla! Mutta entä jos meille on kätevää käyttää for-silmukkaa yhdessä taulukon kanssa? Mietitäänpä:
- Jos meidän täytyy hakea alkio taulukosta, käytämme
array[index];; - Meillä on muuttuja
i, joka käytännössä korvaa indeksimme; - Yhdistämällä yllä olevat kohdat voimme päätellä, että voimme käyttää
array[i]-syntaksia for-silmukan sisällä työskennelläksemme taulukon kanssa nopeasti. Katsotaanpa esimerkkiä:
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]}`) }
Käydään läpi, mitä yllä olevassa koodissa tapahtuu:
- Luomme taulukon tyyppiä
number, jossa on 10 alkiota; - Tavoitteenamme on tarkastella jokaista taulukon alkiota ja selvittää missä indeksissä se sijaitsee;
- Koska taulukon indeksointi alkaa nollasta, muuttujamme
isaa aluksi arvon 0. Asetamme myös rajaksi taulukon pituuden, joka on 10; - Koska tiedämme, että
ion alkion indeksi, haemme taulukon alkiot ja näytämme ne ruudulla käyttäenarray[i];; - Koska
ion taulukon alkion indeksi, näytämme samalla, millä indeksillä tietty alkio sijaitsee.
Näin voimme olla vuorovaikutuksessa taulukon kanssa. Asetetaan itsellemme toinen tehtävä: haetaan jokainen alkio, joka sijaitsee parillisessa indeksissä tässä taulukossa:
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]}`) }
Käyttämällä i+=2, joka on sama kuin i = i + 2, saadaan jokainen taulukon alkio, joka sijaitsee parillisessa indeksissä. Toisin sanoen, alkion indeksin tulee olla jaollinen kahdella. Tällaisia indeksejä ovat 0, 2, 4, 6 ja niin edelleen. Huomaa myös, että i-muuttujan avulla voidaan näyttää alkion indeksi, kuten yllä olevassa esimerkissä.
Taulukon kokoa ei tarvitse laskea itse! Voidaan käyttää taulukon ominaisuutta array.length. Tarkastellaan esimerkkiä ja samalla nähdään, miten taulukko käydään läpi lopusta alkuun (jos taulukko täytyy käydä läpi käänteisessä järjestyksessä).
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]}`) }
Yllä olevassa esimerkissä alustimme muuttujan i arvolla array.length - 1, koska array.length on 10 ja taulukon viimeisen alkion indeksi on 9. Tämä johtuu nollapohjaisesta indeksoinnista.
Lisäksi voit käyttää array.length-arvoa paitsi alustuksessa, myös ehdossa. Näille kaikille löytyy useita erilaisia esimerkkejä; tarvitset vain hieman mielikuvitusta ja tiettyjä käyttötapauksia. Esimerkiksi:
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]") } }
Jos taulukon pituuden ja indeksin erotus on jaollinen kahdella, näytetään kyseinen alkio. Muussa tapauksessa näytetään 'DELETED DATA' – tämä on esimiehen määräys.
Kiitos palautteestasi!