online: 24; azi: 68; total: 50523 Webdesign - Tutoriale-js - 04

Parcurgere matricelor (Array) in JavaScript

Matricele (Array) sunt tablouri de date care pot stoca mai multe valori intr-un singur nume de variabila (vedeti si punctul 2, "Obiectul Array" din lectia Obiecte JavaScript).
Matricele sunt de doua feluri: secventiale (care are cheile numere consecutive) si asociative (in care cheile sunt numere aleatoare, sau chiar siruri).

1. Array secvential

Matricele secventiale pot fi create in mai multe moduri, in general folosind Obiectul Array. Iata cateva exemple ale aceeasi matrice:
<script type="text/javascript"><!--
// Metoda 1 - cu specificarea cheilor si separat fiecare element
var aray1 = new Array();
aray1[0] = 'discant.ro';
aray1[1] = 'jocuri';
aray1[2] = 'anime';

// Metoda 2 - separat fiecare element, dar fara specificarea cheilor (fiind subantelese)
var aray2 = new Array();
aray2[] = 'discant.ro';
aray2[] = 'jocuri';
aray2[] = 'anime';

// Metoda 3 - elementele adaugate direct in initializarea obiectului Array (separate prin virgula)
var aray3 = new Array('discant.ro', 'jocuri', 'anime');

// Metoda 4 - intre o pereche de paranteze patrate (fara specificarea lui Array)
var aray4 = ['discant.ro', 'jocuri', 'anime'];
//--></script>
- Toate cele 4 matrici (aray1, aray2, aray3 si aray4) sunt identice ca valori si chei, au aceleasi elemente.

Parcurgerea unei matrice (sau Array) secventiale se face de obicei cu instructiunea "for".
Exemplu:
<script type="text/javascript"><!--
// Array-ul cu datele
var aray = new Array('www.discant.ro', 'cursuri', 'tutoriale');

// Parcurgerea matrice cu "for" si afisarea unei ferestre Alert cu fiecare element
for (var i=0; i<aray.length; i++) {
    alert(aray[i]);
}
//--></script>
- "aray.length" determina numarul de elemente din matricea "aray"
- Ca sa vedeti rezultatul acestui exemplu, click pe butonul

2. Array asociativ

In cazul matricelor asociative lucrurile sunt putin diferite. Pentru crearea lor se foloseste metoda 1 (aratata mai sus), in care se initializeaza obiectul Array si se specifica separat fiecare cheie si element.
Pentru parcurgerea unui Array asociativ trebuie abordata a o alta metoda, mai ales daca se doreste si aflarea /folosirea valorii cheilor. Se foloseste o alta forma a instructiunii "for", si anume: for (var i in nume_array) (e similara cu "foreach" din PHP), aceasta parcurge matricea "nume_array" de la primul element pana la ultimul iar variabila "i" va avea ca valoare cheia elementului curent.
Iata un exemplu din care veti intelege mai bine:
<script type="text/javascript"><!--
// Se defineste matricea asociativa
var aray = new Array();
aray['site'] = 'discant.ro';
aray['curs'] = 'javascript';
aray[2] = 'php-mysql';

// Se parcurge matricea cu "for (var i in aray)
for (var i in aray) {
    // Se definesc datele ce trebuie afisate
    var msg = "key = "+ i+ "\nVal = "+ aray[i];
    alert(msg);
}
//--></script>
- Ca sa vedeti rezultatul acestui script, click pe butonul