După cum vedem, marginea sunt destul de importante în JavaScript și, de asemenea, în majoritatea limbajelor de programare. În mod specific, am învățat deja să creăm matrice și să le folosim în articolele anterioare din Manualul JavaScript. Dar avem încă câteva lucruri importante de explicat, cum ar fi matricele multidimensionale.
Arrays multidimensional sunt structuri de date care stochează valorile în mai multe dimensiuni. Matricele pe care le-am văzut până acum la stocarea valorilor într-o dimensiune, astfel încât să accesați pozițiile pe care le folosim doar un indice. Arrasele 2-dimensionale își salvează valorile, pentru ao pune într-un fel, în rânduri și coloane și, prin urmare, vom avea nevoie de doi indici pentru a accesa fiecare dintre pozițiile sale.
Cu alte cuvinte, o matrice multidimensională este la fel de Un recipient care a salvat mai multe valori pentru fiecare poziție, adică ca și cum elementele matricei erau alte matrice.
în JavaScript nu există obiecte multidimeninale autentice. Pentru a utiliza aceste structuri, putem defini matricele pe care în fiecare dintre pozițiile sale vor exista o altă matrice. În programele noastre putem folosi matrice din orice dimensiune, vom vedea mai jos cum să lucrez cu matrice bidimensionale, care vor fi cele mai frecvente.
În acest exemplu, vom crea o două dimensiuni Array în cazul în care vom avea pe un singur oraș și pe cealaltă temperatura medie pe care o face în fiecare dintre lunile de iarnă.
var temperaturas_medias_ciudad0 = new Array(3) temperaturas_medias_ciudad0 = 12 temperaturas_medias_ciudad0 = 10 temperaturas_medias_ciudad0 = 11 var temperaturas_medias_ciudad1 = new Array (3) temperaturas_medias_ciudad1 = 5 temperaturas_medias_ciudad1 = 0 temperaturas_medias_ciudad1 = 2 var temperaturas_medias_ciudad2 = new Array (3) temperaturas_medias_ciudad2 = 10 temperaturas_medias_ciudad2 = 8 temperaturas_medias_ciudad2 = 10
cu liniile anterioare au creat trei matrice de o dimensiune și trei elemente, cum ar fi cele deja știam. Acum vom crea o nouă gamă de trei elemente și vom introduce matricele create anterior în interiorul fiecărei casete, cu care vom avea o serie de matrice, adică o matrice 2-dimensională.
var temperaturas_cuidades = new Array (3) temperaturas_cuidades = temperaturas_medias_ciudad0 temperaturas_cuidades = temperaturas_medias_ciudad1 temperaturas_cuidades = temperaturas_medias_ciudad2
Vedem că să introducem întreaga matrice pe care o referință fără paranteze sau paranteze, ci numai cu numele său. Temperaturile de matrice_quitate este matricea noastră cu două dimensiuni.
Este, de asemenea, interesant să vedem cum un turneu este realizat de o matrice bidimensională. Pentru aceasta, trebuie să facem o buclă care trece prin fiecare dintre cutiile de ardură bidimensionale și în interiorul lor face un nou turneu pentru fiecare dintre cutiile sale interne. Adică un tur al unei matrice în altul.
Metoda de realizare a unui tur în altul este de a plasa o buclă în interiorul altui, care se numește o buclă imbricată. În acest exemplu, vom pune o buclă pentru altul. De asemenea, să scriem rezultatele pe o masă, ceea ce va complica un pic, dar putem vedea cum să construim o masă de la JavaScript pe măsură ce efectuăm traseul imbricat la buclă.
DIV id = „517F9513EE” >
Acest script este un pic mai complex decât cei observați anterior. Prima acțiune este de a scrie antetul mesei, adică eticheta <TABLE>
împreună cu atributele sale. Cu prima buclă realizăm un tur la prima dimensiune a matricei și folosesc variabila I pentru a păstra contul poziției curente. Pentru fiecare iterație a acestei bucle, scriem un rând și pentru a începe rândul, deschidem eticheta iv ID = „0D732D41A0” . În plus, am scris într-o cutie numărul orașului pe care călătorim în acel moment. Ulterior, am pus o altă buclă care trece prin fiecare dintre cutiile de matrice în a doua dimensiune și scriem temperatura orașului actual în fiecare din lunile, în interiorul etichetei sale <TD>
. Odată ce a doua buclă se termină, cele trei temperaturi au fost tipărite și, prin urmare, rândul este terminat. Prima buclă continuă să abroge până când toate orașele sunt imprimate și odată terminate am închis masa.
Div> Notă: Este posibil să fi văzut că uneori generarea codului HTML de la JavaScript devine complex. Dar problema nu este doar că codul este dificil de produs, dar cel mai rău este că creați un cod dificil de întreținut, în care ambele părți ale programului JavaScript este amestecat cu partea prezentării HTML. Ceea ce ați văzut este, de asemenea, doar un cod simplu, cu o masă foarte elementară, imaginați-vă ce s-ar întâmpla atunci când tabelul sau datele au fost mai complexe. Din fericire, există modalități de a genera un cod HTML mai bun decât cele pe care le-am văzut acum, deși este puțin avansat pentru momentul în care suntem. Oricum, vă lăsăm un link către manualul de sistem de șablon JavaScript Geralbars, care este o alternativă simplă de librărie pentru a genera ieșirea HTML de la JavaScript. Putem vedea exemplul de funcționare și examinând codul întregului script
inițializarea matricei
Pentru a termina cu tema matricei Vom vedea o modalitate de a vă inițializa valorile în timp ce le declarăm, astfel încât să putem efectua într-un mod mai rapid Procesul de introducere a valorilor în fiecare dintre pozițiile matricei.
Metoda normală de creare a unei matrice Am văzut că a fost prin obiectul matricei, punând numărul de cutii de matrice în paranteze sau care nu pune nimic, astfel încât matricea să fie creată fără poziție. Pentru a introduce valori la o matrice devine aceeași, dar punerea printre paranteze, valorile cu care dorim să umplem cutiile separate de o comă. Să o vedem cu un exemplu care creează o matrice cu numele zilelor săptămânii.
var diasSemana = new Array("Lunes","Martes","Miércoles,","Jueves","Viernes","Sábado","Domingo")
matria este creată cu 7 cutii, de la 0 la 0 la 6 și în fiecare cutie este scrisă în ziua săptămânii corespunzătoare (între citate, deoarece este un text).
Acum să vedem ceva mai complicat, este vorba despre declararea matricei bidimensionale pe care o folosim înainte Temperaturile orașelor în lunile de pe o singură linie, introducând valorile la un moment dat.
var temperaturas_cuidades = new Array(new Array (12,10,11), new Array(5,0,2),new Array(10,8,10))
În exemplul pe care îl introducem în fiecare cutie de ardie Array care are ca valori temperaturile unui oraș în fiecare lună.
JavaScript are încă un mod mai rezumat decât am văzut, pe care le explicăm în primul articol în care tratăm marginea. Pentru aceasta, pur și simplu am scris între paranteze, datele de matrice pe care le creăm. Pentru a termina, vom arăta un exemplu despre modul de utilizare a acestei sintaxe pentru a declara matrice de mai mult de o dimensiune.
var arrayMuchasDimensiones = , , "acabo"], 2, 5];
În acest exemplu am creat o foarte uniformă Array, pentru că are cutii cu conținut simplu simplu și altele cu conținut de lanț și altele care sunt alte matrice. Am putea accesa unele dintre cutiile lor și am arătat valorile lor în acest fel:
alert (arrayMuchasDimensiones)alert (arrayMuchasDimensiones)alert (arrayMuchasDimensiones)
cu aceasta am venit la sfârșitul articolelor care se ocupă de Arrays în JavaScript și acum putem continua cu o mică pauză și sfaturi care vor veni bine pentru a ne îmbunătăți relația cu acest limbaj de programare.