JavaScript: tömbök

JavaScript Web

A tömb (array) olyan adatszerkezet, amelyet nevesített elemek csoportja alkot, melyekre sorszámukkal (indexükkel) lehet hivatkozni.
A tömb első eleme a 0 . elem! A tömb utolsó eleme a length-1 (tömb hossza – 1). elem!
Adott tömbelemre a tömbnév után tett szögletes zárójelben hivatkozunk: T[3]

Leggyakoribb függvények:

lengthVisszaadja a tömb elememszámáttomb.length
push()Elem(ek) hozzáadása a tömb végéheztomb.push("újelem")
pop()Utolsó elem eltávolítása és visszaadásalet utolso = tomb.pop()
shift()Első elem eltávolítása és visszaadásalet elso = tomb.shift()
unshift()Elem(ek) hozzáadása a tömb elejéheztomb.unshift("új")
toString()Tömb elemeinek stringgé alakítása vesszővel elválasztvatomb.toString()
join()Tömb elemeinek stringgé alakítása megadott elválasztóvaltomb.join(" - ")
at()Megadott indexű elem visszaadása (támogatja a negatív indexeket is)tomb.at(-1)
concat()Két vagy több tömb összefűzése egy új tömbbé

Tömb bejárása

Hagyományos módszer: for (let i = 0; i < tomb.length; i++)

MetódusLeírásPélda
forEach()Végrehajt egy függvényt a tömb minden elemén. Nincs visszatérési értéke.tomb.forEach(elem => console.log(elem));
for...ofA legegyszerűbb módszer az elemek bejárására.for (const elem of tomb) { ... }
for...inFIGYELEM! A tömb indexeit adja vissza. Objektumokhoz ajánlott.for (const index in tomb) { ... }

Példa az alapvető függvénykre:

Rendezés

A sort() csak stringek esetén működik alap esetben! Számjegyek esetén csak az első számjegyet vizsgálja, ezért a 20 nagyobb lesz például a 100-nál, ami téves sorrendet eredményez! Szerencsére a sort() függvénynek van egy összehasonlító funkciója, ami számok esetén alkalmazható. tomb.sort(function(a, b){return a – b});

A következő példában létrehozunk egy számokat tartalmazó tömböt, és rendezzük a tartalmát növekvő, majd csökkenő, majd véletlen sorrendbe! Megnézzük az első és utolsó elem törlését, majd új elemek hozzáadását helyettük.
Ha növekvő sorrendbe rendezzük a tömböt, akkor a legkisebb elem a tömb 0.eleme lesz, a legnagyobb a tömb elemszáma-1. elem.

Tömb elemeinek összekeverés véletlenszerűen, Fisher-Yates módszer.

Rendezetlen tömbből a legkisebb és a legnagyobb elem kiválasztása

  1. Ehhez a Math.max() és Math.min() JavaScript függvényeket használhatjuk.

Egyéb példák

Feladat: sorsoljunk ötös lottó és hatos lottó számokat!
Rendezzük a kisorsolt számokat növekvő sorrendbe!

Feladat: sorsoljunk ki 1-90 közötti számokból ötöt, majd jelöljük be a kisorsolt számokat egy 90 elemű tömbön!

Feladat: sorsoljuk ki az ötös és hatoslottó számait!
(5db random szám 1-90 között, illetve 6db random szám 1-45 között)
Rendezzük sorrendbe őket! Ahol lehet használjunk függvényeket!

Kicsit rövidebb verzió a lottós feladatra. Létrehoztam egy függvényt, aminek az egyik paramétere, hogy hány számot sorsoljon, a másik a maximális érték. Ezt a függvényt meg tudjuk hívni az ötös és hatos lottó esetében is. A nyeroSzamok.sort((a, b) => a – b); a számokat növekvő sorrendbe rendezi.
A FgvKiir függvény paraméterként megkapja az adott tömböt, és a lottó típusát. A szamok.join(„, „) függvény a tömb elemeit string-é alakítja, és vesszőt is tesz közéjük.

Feladat: tömb legkisebb, legnagyobb eleme, átlaga, összeg, páros elemek száma