Weblap Hová jutunk?

Szöveges karakterlánctömbök. 507

A szöveges tömböket, azaz karakterlánc tömböket, ugyan úgy hozhatunk létre, mint számtömböket.
A szöveges tömböket és a számtömböket szinte meg se különbözteti egymástól a program.
Annyi a különbség, hogy a tömb elemeit nem számértékkel töltjük fel, hanem szöveges karakterlánccal.
A szöveges tömbökkel, nagyszámú szövegrésszel, azaz karakterlánccal dolgozhatunk.
Például: névjegykártya gyűjteményt, személyes nyilvántartásokat, vagy tetszőleges adatok tömkelegét, kezelhetjük, sorba rendezhetjük, stb.

Megjegyzés:
Egy fontos különbség van a számtömbök és a szöveges tömbök között.
A tömbök elemeinek számértékkel való feltöltésénél, nem kell a számokat idézőjelek közé tenni.
Szöveggel való feltöltésnél, idézőjelek közé kell szövegünket elhelyezni.

A tömböt "new Array();" kulcsszóval, és tetszőleges ékezet nélküli elnevezéssel hozzuk létre:
var Tombnev = new Array( );


1. Példa: ( Sorszámmal indexelt elemek.)


<script language="JavaScript" type="text/javascript">
var Kamra = new Array();               // Tömb létrehozása.
Kamra[0] = 'Sárgabarackos lekvár. 7-es polc';                     // Tömb 0-ik sorszámú eleme, és tartalma.
Kamra[1] = 'Reszelt dió süteménynek. 4-es polc';               // Tömb 1-ik sorszámú eleme, és tartalma.
Kamra[2] = 'Főzhető burgonya. 1-es polc';                          // Tömb 2-ik sorszámú eleme, és tartalma.

document.write('Program szerint:<br> Kamra nevű tömbünk, elemeinek száma = '+Kamra.length);
</script

2. Példa: ( Ékezet néléküli szöveggel, azaz, karakterlánccal indexelt elemek.)


<script language="JavaScript" type="text/javascript">
var Kamra = new Array();               // Tömb létrehozása.
Kamra['lekvar'] = 'Sárgabarackos lekvár. 7-es polc';                // 'lekvar' szöveggel indexelt elem, és tartalma.
Kamra['dio'] = 'Reszelt dió süteménynek. 4-es polc';               // 'dio' szöveggel indexelt elem, és tartalma.
Kamra['burgonya'] = 'Főzhető burgonya. 1-es polc';                 // 'burgonya' szöveggel indexelt elem, és tartalma.

document.write('Program szerint:<br> Kamra nevű tömbünk, elemeinek száma = '+Kamra.length);
</script

Megjegyzés:
1. Példánál. Program meghatározza, a tömbünk elemeinek számát.
2. Példánál. Program nem tudja meghatározni, a tömbünk elemeinek számát.
A 2-ik példánál is megtudja határozni elemek számát, elemek létrehozása előtt vagy utána, nekünk kell beírni az Array() zárójelei közé, az elemek számát így: Array(3)




Ékezet néléküli szöveggel, azaz, karakterlánccal indexelt elemeknél.
Elemek létrehozása előtt vagy utána, meghatározzuk elemek számát, az Array() zárójelei között.


<script language="JavaScript" type="text/javascript">
var Kamra = new Array(3);               // Tömb létrehozása.
Kamra['lekvar'] = 'Sárgabarackos lekvár. 7-es polc';                // 'lekvar' szöveggel indexelt elem, és tartalma.
Kamra['dio'] = 'Reszelt dió süteménynek. 4-es polc';               // 'dio' szöveggel indexelt elem, és tartalma.
Kamra['burgonya'] = 'Főzhető burgonya. 1-es polc';                 // 'burgonya' szöveggel indexelt elem, és tartalma.

document.write('Program szerint:<br> Kamra nevű tömbünk, elemeinek száma = '+Kamra.length);
</script




Egyedi minta, tetszőleges számú tömbelemhez.
Tömbelemek karakterlánccal indexeltek.

Tömbünk elemei, ékezet nélküli szöveggel indexeltek, és 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.


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

var Kamra = new Array();       // Ez lesz a tömbünk, melyben a tartalmat helyezzük el.
var Kamraid = new Array();     // Ez tárolja az elemek index értékét, azonosítóját.  
var ix = 0;                               // A Kamraid nevű tömb, elemeit sorszámozza.

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

var eaz='lekvar';          Kamra[eaz] = 'Sárgabarackos lekvár. 7-es polc';                Kamraid[ix]=eaz;    ix++;
var eaz='dio';               Kamra[eaz] = 'Reszelt dió süteménynek. 4-es polc';          Kamraid[ix]=eaz;    ix++;
var eaz='burgonya';     Kamra[eaz] = 'Főzhető burgonya. 1-es polc';                     Kamraid[ix]=eaz;    ix++;

document.write('<hr><strong>Fenti programunk eredménye.</strong><br>');
document.write('<br><strong>Tömb hossza, Kamra.length = '+Kamra.length+'</strong>');

document.write('<br><strong>Tömb hossza, Kamraid.length = '+Kamraid.length+'</strong> ---- (Ez, pontos eredményt adott.)<br>');

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


var Kamraidh=Kamraid.length;

for(i=0; i<Kamraidh; i++){
     var index = Kamraid[i];
	 var adat=Kamra[index];
	 document.write('<br>'+i+'. Tömbelem indexe = <strong>'+index+'</strong> ----- Tartalma = <strong>'+adat+'</strong>');
}

</script>








Megjegyzés:
Nem praktikus, azaz, nehezen áttekinthető tömb bevezetésekor, így megadni az elemek értékeit,
kerek vagy szögletes zárójelek között, és vesszővel elválasztva azokat egymástól.

Így:
var kamra = new Array ("Sárgabarackos lekvár 10 üveggel." , "Reszelt dió süteménynek 1 Kg" , "Főzhető burgonya 20 Kg", "Szílvalekvár 5 üveggel" , "dió 2 Kg" , "burgonya 50 Kg" , "Sárgabarack" , "sütemény" , "keksz" , "alma" , "Mogyoró" , "Retek" , "Szilva" , "Körte" , "Banán" , "Narancs" , "Tök");

Vagy így:
var kamra = [ "Sárgabarackos lekvár 10 üveggel." , "Reszelt dió süteménynek 1 Kg" , "Főzhető burgonya 20 Kg", "Szílvalekvár 5 üveggel" , "dió 2 Kg" , "burgonya 50 Kg" , "Sárgabarack" , "sütemény" , "keksz" , "alma" , "Mogyoró" , "Retek" , "Szilva" , "Körte" , "Banán" , "Narancs" , "Tök"];




Vissza a lap elejére