Array este un obiect care poate sa contina mai multe valori intr-o singura variabila. Aceste valori sunt ordonate cu un index numeric incepand de la 0.
Un Array se poate crea adaugand valorile intre paranteze patrate, sau cu formula: new Array()
.
Valorile se pot adauga si dupa definirea array-ului.
let nume_array =['v1', 'v2', 'v3']; //sau let nume_array =[]; nume_array[0] ='v1'; nume_array[1] ='v2'; nume_array[2] ='v3';
let nume_array = new Array('v1', 'v2', 'v3'); //sau let nume_array = new Array(); nume_array[0] ='v1'; nume_array[1] ='v2'; nume_array[2] ='v3';- 'nume_array' poate fi orice nume de variabila.
Fiecare valoare adaugata intr-un Array devine un element al Array-ului si are asociat un index numeric. Cu acest index se poate accesa oricare element din array.
- Sintaxa:<script> //se defineste un array cu 3 elemente si se acceseaza elementul al doilea let arr =['HTML', 'JavaScript', 890]; var v2 = arr[1]; document.write(v2); //JavaScript </script>
push()
, aceasta adauga unul sau mai multe elemente la sfarsitul unui array.var nume_array =['v1']; nume_array.push('v2', 'v3');
length
.(array.length -1)
.<script> //array cu 2 elemente let arr =['HTML', 'PHP']; //modifica al doilea element arr[1] ='Tutorial JS'; //adauga un nou element dupa ultimul arr.push('New item'); //test, arr are acum 3 elemente document.write('<br>Array-ul arr are '+ arr.length +' elemente. Al doilea e: '+ arr[1]); </script>
for()
sau cu metoda forEach()
.<script> //array cu 4 elemente let arr =['HTML', 'CSS', 'JavaScript', 'PHP']; //parcurge array-ul si scrie valoarea fiecarui element for(var i=0; i<arr.length; i++){ document.write('<br>'+ arr[i]); } </script>
forEach()
preia ca argument o functie 'callback' cu 3 argumente.<script> //functia callback pt. forEach() let parseArr =(v, i)=>{ //scrie indexul si valoarea elementului document.write('<br>'+ i +' - '+ arr[i]); } //array cu 4 elemente let arr =['HTML', 'CSS', 'JavaScript', 'PHP']; //parcurge array-ul cu forEach() si functia parseArr() arr.forEach(parseArr); </script>
Ca performanta, for() e mai rapid decat forEach().
- Un array se poate parcurge si cu instructiunile: for..in
si for..of
, vedeti lectia de la: marplo.net/javascript/instructiuni-repetitive-for
JavaScript contine numeroase metode pentru lucru cu elementele unui array. O lista cu aceste metode gasiti la pagina de la adresa: marplo.net/javascript/metode-obiect-array
Iata cateva exemple.
Array.isArray()
.
let arr =['MarPlo.net', 'GamV.eu', 90]; //daca arr e array, afiseaza primul element if(Array.isArray(arr)) document.write('- Primul elm.: '+arr[0]);
sort()
.
let arr =['ef', 'a8', 9, 78]; arr.sort(); //aranjeaza in ordine alfabetica console.log(arr); //[78, 9, 'a8', 'ef']
reduce()
cu o functie callback.
const arr =[1, 2, 3, 4]; //suma elementelor din arr const ar_sum = arr.reduce((a, b)=>a+b); //produsul elementelor din arr const ar_prd = arr.reduce((a, b)=>a*b); document.write('<p>Suma numerelor din [1, 2, 3, 4] e: '+ar_sum+', Produsul: '+ar_prd+'</p>');
<div id='dv1'>JS, array Bidimensional</div> <script> //se defineste un array bidimensional (elementul al doilea e un array) let arr =[ 'Web develop', ['html', 'css', 'javascript'], 'xyz' ]; //indexul ultimului element din array-ul interior (care e la arr[1]) let ix = arr[1].length -1; //preia valoarea primului element din 'arr' si a ultimului din array interior let title = arr[0]; let tutor = arr[1][ix]; //adauga in #dv1 valorile preluate document.getElementById('dv1').innerHTML ='<h3>'+ title +'</h3>Tutorial '+ tutor; </script>
<ul> <li>http://coursesweb.net/html/</li> <li>http://www.marplo.net/html/</li> </ul>
.some_class { display: list-item; }
var obj = { "courses": ["php", "javascript", "ajax"] }; var jsonstr = JSON.stringify(obj); alert(jsonstr); // {"courses":["php","javascript","ajax"]}
$strhtml = '<body><div id="dv1">CoursesWeb.net</div></body>'; $dochtml = new DOMDocument(); $dochtml->loadHTML($strhtml); $elm = $dochtml->getElementById("dv1"); echo $elm->nodeValue; // CoursesWeb.net
I`m living here. - Traiesc /Locuiesc aici.
Estoy viviendo aquí. - Traiesc /Locuiesc aici.