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
-of
szintaxis).
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 at
tömbbőlt.push(a, b, ...)
: beszúrja aza
,b
, ... elemeket at
tömb végéret.shift()
: törli (és visszaadja) a legelső elemet at
tömbbőlt.unshift(a, b, ...)
: beszúrja aza
,b
, ... elemeket at
tömb elejéret.sort()
: rendezi at
tömb elemeitt.indexOf(e)
: visszaadja aze
elem legelső előfordulásának a kezdőindexét at
tömbön belül (-1
-et ad vissza, ha nem szerepel benne)t.slice(startIndex, endIndex)
: visszaadja a tömbstartIndex
ésendIndex
közötti elemeit- mindig egy új tömböt ad vissza (nem módosítja az eredeti tömböt)
- az
endIndex
indexű elem már nem lesz benne a visszaadott tömbben - az
endIndex
paramé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ömbelemekseparator
karakterrel 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' ]