A JavaScriptben a tömb egy listaszerű szerkezet, amelynek nincs rögzített hossza, és bármilyen primitív típust vagy objektumot tárolhat, akár vegyesen is.
Tömb létrehozásához írd az elemeket szögletes zárójelek ([]) közé.
A tömb beolvasásához írd az indexet szögletes zárójelbe ([]) az azonosító után.
A tömb indexei nullától kezdődnek.
Például:
const numbers = [1, 'two', 3, 'four'];
numbers[2];
// => 3
Ha meg akarod tudni, hány elem van egy tömbben, használd a length tulajdonságot:
const numbers = [1, 'two', 3, 'four'];
numbers.length;
// => 4
Ha meg akarsz változtatni egy elemet a tömbben, rendelj értéket az adott indexhez:
const numbers = [1, 'two', 3, 'four'];
numbers[0] = 'one';
numbers;
// => ['one', 'two', 3, 'four']
A minden Array objektumon elérhető metódusok közül néhány használható arra, hogy elemeket adj a tömbhöz, vagy eltávolíts belőle. Íme néhány, amit érdemes szem előtt tartanod, amikor ezen a feladaton dolgozol:
Egy value értéket a .push(value) metódussal adhatsz hozzá egy tömb végéhez.
A metódus a tömb új hosszát adja vissza.
const numbers = [1, 'two', 3, 'four'];
numbers.push(5); // => 5
numbers;
// => [1, 'two', 3, 'four', 5]
A legutolsó value értéket a .pop() metódussal távolíthatod el egy tömbből.
A metódus az eltávolított értéket adja vissza.
A tömb hossza e változás miatt csökkenni fog.
const numbers = [1, 'two', 3, 'four'];
numbers.pop(); // => four
numbers;
// => [1, 'two', 3]
A legelső value értéket a .shift() metódussal távolíthatod el egy tömbből.
A metódus az eltávolított értéket adja vissza.
A tömb hossza e változás miatt csökkenni fog.
const numbers = [1, 'two', 3, 'four'];
numbers.shift(); // => 1
numbers;
// => ['two', 3, 'four']
Egy value értéket a .unshift(value) metódussal adhatsz hozzá egy tömb elejéhez.
A metódus a tömb új hosszát adja vissza.
const numbers = [1, 'two', 3, 'four'];
numbers.unshift('one'); // => 5
numbers;
// => ['one', 1, 'two', 3, 'four']
Egy adott index-en lévő value értéket a .splice(index, 1) metódussal távolíthatod el egy tömbből.
A metódus az eltávolított elemet (elemeket) adja vissza.
const numbers = [1, 'two', 3, 'four'];
numbers.splice(2, 1, 'one'); // => [3]
numbers;
// => [1, 'two', 'one', 'four']
Ezek a metódusok többre képesek, mint ahogy fentebb leírtuk:
push és az unshift is lehetővé teszi, hogy egyszerre több értéket adj hozzá, ha több argumentumot adsz meg.
Erre nincs szükség a feladat megoldásához.deleteCount után argumentumként megadod őket.
Ezzel értékeket cserélhetsz ki, vagy értékeket szúrhatsz be egy tömb közepére (például 0 elem eltávolításával).
Erre nincs szükség a feladat megoldásához.Leendő varázslóként Elyse-nek gyakorolnia kell néhány alapvető dolgot. Van egy pakli kártyája, amivel szeretne trükközni.
Hogy a dolgok kicsit könnyebbek legyenek, csak az 1-től 10-ig terjedő kártyákat használja, így a paklija számokból álló tömbként ábrázolható. Egy adott kártya pozíciója a tömbben lévő indexnek felel meg. Ez azt jelenti, hogy a 0. pozíció az első kártyára utal, az 1. pozíció a másodikra, és így tovább.
Két függvény kivételével mindegyik frissítse a kártyák tömbjét, majd adja vissza a módosított tömböt. Ez egy gyakori munkamód, az úgynevezett Builder pattern, amivel a függvényeket szépen egymás után fűzheted.
A két kivétel a getItem, amely az adott pozíción lévő kártyát adja vissza, és a checkSizeOfStack, amely true-t ad vissza, ha a kapott méret megegyezik.
Egy kártya kiválasztásához add vissza a kapott pakli position indexén lévő kártyát.
const position = 2;
getItem([1, 2, 4, 1], position);
// => 4
Mutass be egy kis kézügyességet, és cseréld ki a position indexen lévő kártyát a megadott cserekártyára.
Add vissza a módosított paklit.
const position = 2;
const replacementCard = 6;
setItem([1, 2, 4, 1], position, replacementCard);
// => [1, 2, 6, 1]
Varázsolj elő egy kártyát úgy, hogy egy új kártyát szúrsz a pakli tetejére. Add vissza a módosított paklit.
const newCard = 8;
insertItemAtTop([5, 9, 7, 1], newCard);
// => [5, 9, 7, 1, 8]
Tüntess el egy kártyát úgy, hogy eltávolítod a pakliból az adott position pozíción lévő kártyát.
Add vissza a módosított paklit.
const position = 2;
removeItem([3, 2, 6, 4, 8], position);
// => [3, 2, 4, 8]
Tüntess el egy kártyát úgy, hogy eltávolítod a pakli tetején lévő kártyát. Add vissza a módosított paklit.
removeItemFromTop([3, 2, 6, 4, 8]);
// => [3, 2, 6, 4]
Varázsolj elő egy kártyát úgy, hogy egy új kártyát szúrsz a pakli aljára. Add vissza a módosított paklit.
const newCard = 8;
insertItemAtBottom([5, 9, 7, 1], newCard);
// => [8, 5, 9, 7, 1]
Tüntess el egy kártyát úgy, hogy eltávolítod a pakli alján lévő kártyát. Add vissza a módosított paklit.
removeItemAtBottom([8, 5, 9, 7, 1]);
// => [5, 9, 7, 1]
Ellenőrizd, hogy a pakli mérete egyenlő-e a stackSize értékkel vagy sem.
const stackSize = 4;
checkSizeOfStack([3, 2, 6, 4, 8], stackSize);
// => false
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) JavaScript nyelvet 37 fogalom159 feladat segítségével, valódi emberi mentorálással, mindez ingyen.