Weblap Hová jutunk?

JavaScript tömb létrehozása. 502


Tömb vagy kétdimenziós tömb létrehozása.



Tömb nevének, tetszőleges egyedi ékezet nélküli szöveges elnevezést kell meghatározni.
A tömbök elemeit egyedi azonosítóval kell ellátni, melyet a [ ] zárójelek közé kell beírnunk.
Azonosítók lehetnek egész számok, vagy egyedi ékezet nélküli szöveges elnevezések.

Tömb létrehozása úgy, hogy tartalommal később,
a program valamely területén töltjük fel.

LétrehozásLeírás
var tomb = new Array(); Tömböt létrehozzuk, és nem határozzuk meg előre, elemeinek számát.
var tomb = new Array(3);Tömböt létrehozzuk, és előre meghatározzuk elemeinek mínimális számát.
Ez nem jelenti azt, hogy a későbbiekben nem tartalmazhat több elemet.
Ekkor a program létrehoz a tömbhöz 3 elemet ( 0,1,2 ), melyek adatot nem tartalmaznak, azaz, üres elemeket.
Ezeket az üres elemeket a program bármely részén, feltölthetjük tartalommal.

Tömb létrehozása úgy, hogy létrehozásakor legalább egy elemet elhelyezünk tartalommal vagy tartalom nélkül.

LétrehozásLeírás
var tomb[0] =' '; Tömböt létrehozzuk úgy, hogy sorszámozott azonosítóval rendelkező elemet tartalmaz,
de annak tartalma nincs.
var tomb[0] = ' tartalom ' ; Tömböt létrehozzuk úgy, hogy sorszámozott azonosítóval rendelkező elemet tartalmaz
és tartalma is van.
var tomb['egy'] =' '; Tömböt létrehozzuk úgy, hogy szöveges azonosítóval rendelkező elemet tartalmaz,
de annak tartalma nincs.
var tomb['egy'] = ' tartalom ' ; Tömböt létrehozzuk úgy, hogy szöveges azonosítóval rendelkező elemet tartalmaz
és tartalma is van.

Ha a tömb elemeit számokkal azonosítjuk:
Kapcsos zárójelek közé, idézőjelek nélkül írjuk a számot, majd egyenlő ( = ) jel után, meghatározzuk tartalmát.
Példa: tomb[0]=5; --- tomb[1]=8; és így tovább.

Ha a tömb elemeit tetszőleges általunk választott szöveggel azonosítjuk:
Kapcsos zárójelek között, idézőjelek közé írjuk a szöveget, majd egyenlő ( = ) jel után, meghatározzuk tartalmát.
Példa: tomb['egy']=5; --- tomb['ketto']=8; és így tovább.

Tartalom meghatározásakor:
- Ha szöveg, az egyenlő ( = ) jel után, idézőjelek közé kell beírni. ( ='tartalom szövege'; vagy így ="tartalom szövege"; )
- Ha szám, akkor az egyenlő ( = ) jel után, nem kell idézőjelek közé írni. ( = 2; )
- Ha szám, és idézőjelek közé írjuk, akkor a program szövegként értelmezi. ( = '2'; vagy így = "2"; )






Tömböket
több féle formátumban is, létrehozhatunk.

1. Egyszerű tömb, megegyezik az egyszerű táblázattal.

Sorszámozott táblázatSorszámozott tömb
Nevek
0Pista
1Ferenc
2Éva
3Márta
<script language="JavaScript" type="text/javascript">
var Nevek = new Array();
Nevek[0] = 'Pista';
Nevek[1] = 'Ferenc';
Nevek[2] = 'Éva';
Nevek[3] = 'Márta';
</script;>
Tömb adatainak lekérdezése: ( Meghatározásokat a záró </script> előtt kell ehelyezni. )
document.write('A Nevek nevű tömb hossza, azaz, elemeinek száma = '+Nevek.length);
document.write('<br>0. elem tartalma = '+Nevek[0]);
document.write('<br>1. elem tartalma = '+Nevek[1]);
document.write('<br>2. elem tartalma = '+Nevek[2]);
document.write('<br>3. elem tartalma = '+Nevek[3]);

Program eredménye:



2. Kétdimenziós tömb, megegyezik a táblázatban táblázattal.

Sorszámozott táblázatban, táblázatSorszámozott tömbben, tömb
Vállalkozók
0
NévNap Bt
CégNapenergia
CímBaja
1
NévSzén Kft
CégFűtéstechnika
CímSzeged
2
NévJég Bt
CégHűtéstechnika
CímBudapest
3
NévVágó Bence
CégFavágó kisiparos
CímPécs
<script language="JavaScript" type="text/javascript">
var Vallalkozok = new Array();

Vallalkozok[0] = new Array();
Vallalkozok[0]['nev'] = "Nap Bt";
Vallalkozok[0]['ceg'] = "Napenergia";
Vallalkozok[0]['cim'] = "Baja";

vallalkozok[1] = new Array();
Vallalkozok[1]['nev'] = "Szén Kft";
Vallalkozok[1]['ceg'] = "Fűtéstechnika";
Vallalkozok[1]['cim'] = "Szeged";

vallalkozok[2] = new Array();
Vallalkozok[2]['nev'] = "Jég Bt";
Vallalkozok[2]['ceg'] = "Hűtéstechnika";
Vallalkozok[2]['cim'] = "Budapest";

vallalkozok[3] = new Array();
Vallalkozok[3]['nev'] = "Vágó Bence";
Vallalkozok[3]['ceg'] = "Favágó kisiparos";
Vallalkozok[3]['cim'] = "Pécs";

</script>
Tömb adatainak lekérdezése: ( Meghatározásokat a fent látható záró </script> előtt kell ehelyezni. )
document.write('A Vallalkozok nevű tömb hossza, azaz, elemeinek száma = '+Vallalkozok.length);
document.write('<br>0.elem tartalma: Név='+Vallalkozok[0]['nev']+' -- Cég='+Vallalkozok[0]['ceg']+' -- Cím='+Vallalkozok[0]['cim']+'');
document.write('<br>1.elem tartalma: Név='+Vallalkozok[1]['nev']+' -- Cég='+Vallalkozok[1]['ceg']+' -- Cím='+Vallalkozok[1]['cim']+'');
document.write('<br>2.elem tartalma: Név='+Vallalkozok[2]['nev']+' -- Cég='+Vallalkozok[2]['ceg']+' -- Cím='+Vallalkozok[2]['cim']+'');
document.write('<br>3.elem tartalma: Név='+Vallalkozok[3]['nev']+' -- Cég='+Vallalkozok[3]['ceg']+' -- Cím='+Vallalkozok[3]['cim']+'');


Program eredménye:




Tömb hosszának, azaz, elemek számának lekérdezése
tömbnév.length meghatározással

Megjegyzés:
A length, csak sorszámozott elemeket értékel, és a legnagyobb elemszám + 1 értékkel tér vissza.

Létrehozást már láthattuk, Tomb = new Array(); vagy Tomb = new Array(3);
Ekkor még egyik tömbben sem helyeztünk el, sajátkezüleg elemet, és tartalmat, de a tömbök hosszának lekérdezésekor, mely a tömbelemek számát jelenti, eltérést tapasztalunk.

1.Példa:
Zárójelek között, érték = nincs

<script language="JavaScript" type="text/javascript">
Tomb = new Array();
hossz=Tomb.length;
document.write('Elemek száma = '+hossz);
</script>

Eredmény:

2.Példa:
Zárójelek között, érték = 3

<script language="JavaScript" type="text/javascript">
Tomb = new Array(3);
hossz=Tomb.length;
document.write('Elemek száma = '+hossz);
</script>

Eredmény:

Elemszám itt is 3 legyen, be kell írnunk 3 elemet, tartalommal vagy tartalom nélkül.

<script language="JavaScript" type="text/javascript">
Tomb = new Array();
Tomb[0]='egy';
Tomb[1]='kettő';
Tomb[2]='három';
hossz=Tomb.length;
document.write('Elemek száma = '+hossz);
</script>

Eredmény:

Fenti programnál, nem kell beírnunk 3 elemet, mert ezeket
a program hozta létre, tartalom nélkül.
Kérdezzük le, a tömb elemeit.

document.write('Tomb[0] elem  = '+Tomb[0]+'<br>');
document.write('Tomb[1] elem  = '+Tomb[1]+'<br>');
document.write('Tomb[2] elem  = '+Tomb[2]+'<br>');

Programunk eredménye:

Írjunk be egy 4. elemet tartalommal.

<script language="JavaScript" type="text/javascript">
Tomb = new Array();
Tomb[0]='egy';
Tomb[1]='kettő';
Tomb[2]='három';
Tomb[3]='négy';
hossz=Tomb.length;
document.write('Elemek száma = '+hossz);
</script>

Eredmény:

Írjunk be egy 4. elemet tartalommal.

<script language="JavaScript" type="text/javascript">
Tomb = new Array(3);

Tomb[3]='négy';

hossz=Tomb.length;
document.write('Elemek száma = '+hossz);
</script>

Eredmény:

Kérdezzük le, fenti tömbünk tartalmát.

<script language="JavaScript" type="text/javascript">
Tomb = new Array();
Tomb[0]='egy';
Tomb[1]='kettő';
Tomb[2]='három';
Tomb[3]='négy';
document.write('0.Elem tartalma ='+Tomb[0]);
document.write('1.Elem tartalma ='+Tomb[1]);
document.write('2.Elem tartalma ='+Tomb[2]);
document.write('3.Elem tartalma ='+Tomb[3]);
</script>

Eredmények:

Kérdezzük le, fenti tömbünk tartalmát.

<script language="JavaScript" type="text/javascript">
Tomb = new Array(3);
Tomb[3]='négy';
document.write('0.Elem tartalma ='+Tomb[0]);
document.write('1.Elem tartalma ='+Tomb[1]);
document.write('2.Elem tartalma ='+Tomb[2]);
document.write('3.Elem tartalma ='+Tomb[3]);
</script>

Eredmények:


undefined jelentése = Nincs meghatározható tartalom.
A 0. 1. 2. elemeket, nekünk kell feltölteni, tetszőleges adattal,
szöveggel vagy számokkal.
Példa:
Tomb[0]='egy'; vagy számmal Tomb[0]= 32;
Tomb[1]='kettő'; vagy számmal Tomb[1]= 132;
Tomb[2]='három'; vagy számmal Tomb[2]= 3;
Szöveggel azonosított, azaz, indexelt elemek.

<script language="JavaScript" type="text/javascript">

SzTomb = new Array();

SzTomb['egy']='egy';
SzTomb['ketto']='kettő';
SzTomb['harom']='három';
SzTomb['negy']='négy';

SzTombh=SzTomb.length;
document.write('<br>Tömb hossza, SzTomb.length; = '+SzTombh+'<br>');

document.write('<br>0.Elem tartalma = '+SzTomb['egy']);
document.write('<br>1.Elem tartalma = '+SzTomb['ketto']);
document.write('<br>2.Elem tartalma = '+SzTomb['harom']);
document.write('<br>3.Elem tartalma = '+SzTomb['negy']);

</script>

Fenti programunk eredménye:





Egyedi szöveges tömb, számozottal kombinálva.

Nem sorszámozott, hanem szöveges indexelésű elemeknél, nem meghatározható:
1. A length: Tömb hossza, elemek száma.
2. A sort(): Rendezés növekvő sorrendbe.
3. A reverse(): Rendezés csökkenő sorrendbe.
4. A toString(): Részek vesszővel elválasztva.
5. A for ciklus: Tömb tartalmának lekérdezésére.

Tömbünk elemei, csak szöveggel, vagy szöveggel és számokkal is indexelt.
Itt is úgy járhassunk el, mint csak sorszámozott elemeknél.
Kettő tömb kell:

- Egyik a valós tömbünk, mely tárolja az adatokat.
- Másik a valós tömbünk elemeinek, index értékét tárolja adatként.
Kettő változó kell:
- 1. Meghatározza tömbünk elemeinek indexét, és a második tömb elemeiben tárolandó index értékeket.
- 2. Meghatározza második tömbünk elemeinek index értékét, sorszámát.

Példa.
Elemek index értéke, nem csak szöveges,
hanem vegyes, azaz, szöveges és számozott is.

Vegyes. (Elemek indexe: Szöveges és számozott is.)
<script language="JavaScript" type="text/javascript">

var Vegyes = new Array();           // Ez lesz a tömbünk, mely a szükséges adatokat tárolja.
var Vegyesid = new Array();        // Ez tárolja a "Vegyes" nevű tömb, elemeinek index értékét, azonosítóját.  
var ix = 0;                                    //  "ix" változó, a "Vegyesid" nevű tömb elemeit, sorszámozza (indexeli).

// Az "eaz" nevű változó értéke lesz:
// ----- Vegyes nevű tömbnél, az elemek azonosítója, index értéke.
// ----- Vegyesid nevű tömbnél, az elemekben tárolt érték.

var eaz="nulla";      Vegyes[eaz] = "Sárgarépa.";             Vegyesid[ix] = eaz;     ix++;
var eaz='egy';         Vegyes[eaz] = "Fehér retek.";            Vegyesid[ix] = eaz;     ix++;
var eaz=0;              Vegyes[eaz] = "Zöld dió.";                 Vegyesid[ix] = eaz;     ix++;
var eaz=11;             Vegyes[eaz] = 2022;                        Vegyesid[ix] = eaz;     ix++;


 // Megjegyzés: A length, csak sorszámozott elemeket értékel. Legnagyobb elemszám + 1 értékkel tér vissza.
var vth=Vegyes.length;        // Lekérdezzük elemek számát.
document.write('<br>Tömb hossza = '+vth+' -- Azért 12, mert kettő számozott elemet tartalmaz, a legnagyobb 11 és +1=12 <br>');

document.write('<hr>');
document.write('<br><strong>Elem indexe = nulla  -- Tartalma = '+Vegyes['nulla']+'</strong>');
document.write('<br><strong>Elem indexe = egy  -- Tartalma = '+Vegyes['egy']+'</strong>');
document.write('<br><strong>Elem indexe = 0 -- Tartalma = '+Vegyes[0]+'</strong>');
document.write('<br><strong>Elem indexe = 1. -- Tartalma = '+Vegyes[11]+'</strong><br>');
document.write('<hr>');

var Vegyesidh=Vegyesid.length;        // Lekérdezzük elemek pontos számát.
document.write('<br>Tömb hossza, Vegyesid.length = '+Vegyesidh+' ---- (Ez, pontos eredményt adott.) <br>');

document.write('<hr>A for ciklussal, lekérdezzük tömbünk adatait.<br>');

for(i=0; i<Vegyesidh; i++){
     var index = Vegyesid[i];
	 var adat=Vegyes[index];
	 document.write('<br>'+i+'. Tömbelem indexe = '+index+' ----- Tartalma = '+adat);
}

// ------------------------ Tömb rendezése. -----------------------------
// Vegyes nevű tömb tartalmát, sorszámozott tömbe helyezzük, majd ezt követően rendezzük.

var rendezes= new Array;
for(i=0; i<Vegyesidh; i++){  var index = Vegyesid[i];    var adat=Vegyes[index];
        rendezes[i]=adat;
}

document.write('<hr><br><strong>Rendezés, toString sorrendbe.</strong>');
var tostring = rendezes.toString();
document.write('<br>toString() -- Rendezés = '+tostring);

document.write('<hr><strong>ABC rendezés, növekvő sorrendbe.</strong>');
var sort = rendezes.sort();
document.write('<br>sort() ------ Rendezés = '+sort);

document.write('<hr><strong>ABC rendezés, csökkenő sorrendbe.</strong>');
var reverse = rendezes.reverse();
document.write('<br>reverse() -- Rendezés = '+reverse);

</script>









Vissza a lap elejére