Array-urile sunt structuri de date care pot stoca multiple valori într-o singură variabilă.
// Diferite modalități de a crea array-uri
let numere = [1, 2, 3, 4, 5];
let fructe = ["măr", "banană", "portocală"];
let mixt = [1, "text", true, null, {nume: "obiect"}];
let gol = [];
let constructor = new Array(10); // Array cu 10 elemente undefined
// Accesarea elementelor
console.log(fructe[0]); // "măr"
console.log(fructe[2]); // "portocală"
console.log(fructe.length); // 3
// Modificarea elementelor
fructe[1] = "strugure";
console.log(fructe); // ["măr", "strugure", "portocală"]
Metode Array Fundamentale
Adăugare și Eliminare
let lista = ["a", "b", "c"];
// Adăugare la sfârșit
lista.push("d", "e");
console.log(lista); // ["a", "b", "c", "d", "e"]
// Eliminare de la sfârșit
let ultimul = lista.pop();
console.log(ultimul); // "e"
// Adăugare la început
lista.unshift("z");
console.log(lista); // ["z", "a", "b", "c", "d"]
// Eliminare de la început
let primul = lista.shift();
console.log(primul); // "z"
Splice și Slice
let numere = [1, 2, 3, 4, 5, 6];
// Slice - nu modifică array-ul original
let portiune = numere.slice(2, 4);
console.log(portiune); // [3, 4]
// Splice - modifică array-ul original
let eliminate = numere.splice(1, 2, "a", "b");
console.log(eliminate); // [2, 3]
console.log(numere); // [1, "a", "b", 4, 5, 6]
Metode Array Avansate
let studenti = [
{nume: "Ana", nota: 9},
{nume: "Bogdan", nota: 7},
{nume: "Clara", nota: 10},
{nume: "Dan", nota: 8}
];
// Map - transformă fiecare element
let nume = studenti.map(student => student.nume);
console.log(nume); // ["Ana", "Bogdan", "Clara", "Dan"]
// Filter - filtrează elementele
let studientiExcelenti = studenti.filter(student => student.nota >= 9);
console.log(studientiExcelenti);
// Find - găsește primul element
let clara = studenti.find(student => student.nume === "Clara");
console.log(clara);
// Reduce - reduce array-ul la o singură valoare
let mediaNotes = studenti.reduce((sum, student) => sum + student.nota, 0) / studenti.length;
console.log(mediaNotes); // 8.5
// Some și Every
console.log(studenti.some(student => student.nota === 10)); // true
console.log(studenti.every(student => student.nota >= 7)); // true
Alte Metode Utile
let cuvinte = ["programare", "web", "javascript"];
// Join - combină elementele într-un string
let propozitie = cuvinte.join(" ");
console.log(propozitie); // "programare web javascript"
// Includes - verifică existența unui element
console.log(cuvinte.includes("web")); // true
// IndexOf și lastIndexOf
let pozitie = cuvinte.indexOf("javascript");
console.log(pozitie); // 2
// Sort - sortează array-ul
let numereBulversate = [3, 1, 4, 1, 5, 9, 2, 6];
numereBulversate.sort((a, b) => a - b);
console.log(numereBulversate); // [1, 1, 2, 3, 4, 5, 6, 9]
// Reverse - inversează array-ul
let invers = [1, 2, 3, 4].reverse();
console.log(invers); // [4, 3, 2, 1]