A gyakorlat anyaga¶
Ezen a gyakorlaton megismerkedünk a JavaScript fontosabb adatszerkezeteivel.
Tömbök¶
JavaScriptben a tömb (Array) tetszőleges mennyiségű, nem feltétlenül azonos típusú adat tárolására alkalmas adatszerkezet.
Tömb létrehozása¶
JavaScriptben alapvetően kétféle módszerrel hozhatunk létre tömböket:
- a
new Array()segítségével - a tömbelemek szögletes zárójelek közötti felsorolásával.
A későbbiekben szinte mindig a tömbelemek szögletes zárójelek közötti felsorolását fogjuk használni tömbök létrehozásakor.
Példa: Tömb létrehozása
1 2 3 4 5 | |
Tömbök hossza¶
Egy tömb hosszának lekérdezésére a length property-t használjuk JavaScriptben.
1 2 | |
Kimenet
4
Tömbelemek indexelése¶
A tömbök elemeit a szokásos tömbindex operátorokkal tudjuk elérni: tombNeve[index].
Az indexelés itt is 0-tól kezdődik. A Pythonban tanult negatív, illetve intervallumos indexelés JavaScriptben nem működik!
Ha JavaScriptben egy nem létező indexű tömbelemre hivatkozunk (pl. alul- vagy túlindexeljük a tömböt), akkor undefined értéket kapunk.
1 2 3 4 5 | |
Kimenet
Garfield Tom undefined
A stringekkel ellentétben a tömb egy mutable (módosítható) típus, így lehetőségünk van arra, hogy egy adott indexű elem értékét módosítsuk.
1 2 3 | |
Kimenet
[ 'Garfield', 'Szilveszter', 'Grumpy Cat', 'Tom' ]
Tömbök bejárása¶
Ha végig szeretnénk iterálni egy tömb elemein, akkor azt egy for-ciklussal tudjuk egyszerűen megtenni. Kétféle szintaxist használhatunk:
- a hagyományos, index alapján történő bejárást
- listaszerű bejárást (
for-ofszintaxis).
Példa: Tömb elemeinek bejárása
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Tömbkezelő függvények¶
A JavaScript számos beépített függvényt biztosít tömbök kezelésére. Ezek közül néhány hasznosabb:
t.pop()törli (és visszaadja) az utolsó elemet attömbbőlt.push(a, b, ...): beszúrja aza,b, ... elemeket attömb végéret.shift(): törli (és visszaadja) a legelső elemet attömbbőlt.unshift(a, b, ...): beszúrja aza,b, ... elemeket attömb elejéret.sort(): rendezi attömb elemeitt.indexOf(e): visszaadja azeelem legelső előfordulásának a kezdőindexét attömbön belül (-1-et ad vissza, ha nem szerepel benne)t.slice(startIndex, endIndex): visszaadja a tömbstartIndexésendIndexközötti elemeit- mindig egy új tömböt ad vissza (nem módosítja az eredeti tömböt)
- az
endIndexindexű elem már nem lesz benne a visszaadott tömbben - az
endIndexparaméter elhagyható: ha nem adjuk meg, akkorstartIndex-től kezdve a tömb összes "hátralévő" elemét kapjuk vissza
t.join(separator): egy stringgé egyesíti a tömböt, amiben a tömbelemekseparatorkarakterrel lesznek elválasztva- ...
Példa: Tömbkezelő függvények használata
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Kimenet
Ezeket kell megvennünk: felvágott; kalkulus példatár; kenyér; sajt; tojás Minél hamarabb vegyük meg: [ 'kalkulus példatár', 'kenyér' ]