Înțelegerea seturilor în JavaScript

În universul JavaScript ES6, a fost introdus un nou element fascinant: Seturile. Să explorăm împreună ce reprezintă acestea.

Ce sunt, de fapt, aceste Seturi?

Cum le putem utiliza în codul JavaScript?

Și ce funcționalități ne oferă pentru a simplifica anumite provocări?

În acest ghid detaliat, vom dezvălui răspunsurile la toate aceste întrebări.

Despre Seturi

După cum sugerează și numele, un Set este, în esență, o colecție de elemente distincte. Esențial, Seturile nu permit duplicarea valorilor.

În JavaScript, Seturile rețin elementele în ordinea în care au fost adăugate. Prin urmare, putem spune că acestea sunt ordonate. Pot stoca atât valori primitive, cât și obiecte.

Hai să aruncăm o privire asupra sintaxei Seturilor în JavaScript.

Vă recomandăm să aveți un IDE la îndemână pentru a exersa exemplele următoare.

const nume = new Set(["Ion", "Gigel", "Vasile", "Dan", "Gigel"]);
console.log(nume);

const cuvantAleator = new Set("Aaaaaaaa");
console.log(cuvantAleator);

const numere = new Set([7, 7, 7, 4, 2, 2, 4, 6]);
console.log(numere);

Proprietăți și Funcții

Seturile vin echipate cu o serie de proprietăți și funcții, concepute pentru a simplifica interacțiunea cu acestea și a rezolva o varietate de probleme. Aceste proprietăți și funcții sunt intuitive și ușor de utilizat. Vom analiza fiecare dintre ele în detaliu.

dimensiune

Proprietatea `dimensiune` ne oferă informații despre numărul de elemente prezente într-un Set.

const nume = new Set(["Ion", "Gigel", "Vasile", "Dan", "Gigel"]);
console.log(`Dimensiune: ${nume.size}`);

adăuga

Funcția `add` este utilă pentru a introduce un nou element într-un Set. Dacă elementul pe care dorim să-l adăugăm există deja în Set, acesta nu va fi adăugat încă o dată.

// set gol
const nume = new Set();

nume.add("Ion");
nume.add("Gigel");
nume.add("Vasile");
nume.add("Dan");
nume.add("Gigel");

console.log(nume);

conține

Funcția `has` primește un argument și verifică dacă acesta există în Set. Funcția returnează `true` dacă elementul se află în Set, și `false` în caz contrar.

const nume = new Set(["Ion", "Gigel", "Vasile", "Dan", "Gigel"]);

console.log(nume.has("Gigel"));
console.log(nume.has("Andrei"));

șterge

Funcția `delete`, după cum sugerează și numele, preia un argument și îl elimină din Set. Aceasta nu va genera erori chiar dacă argumentul dat nu este prezent în Set.

const nume = new Set(["Ion", "Gigel", "Vasile", "Dan", "Gigel"]);

nume.delete("Ion");

console.log(nume);

intrări

Funcția `entries` returnează un iterator care conține perechi cheie-valoare sub formă de array, în ordinea în care au fost introduse. În cazul Seturilor, atât cheia, cât și valoarea sunt identice.

const nume = new Set(["Ion", "Gigel", "Vasile", "Dan", "Gigel"]);

const intrari = nume.entries();

console.log(intrari.next().value);
console.log(intrari.next().value);
console.log(intrari.next().value);
console.log(intrari.next().value);
console.log(intrari.next().value);

chei

Funcția `keys` returnează un iterator al elementelor din Set, păstrând ordinea de inserare.

const nume = new Set(["Ion", "Gigel", "Vasile", "Dan", "Gigel"]);

const chei = nume.keys();

console.log(chei.next().value);
console.log(chei.next().value);
console.log(chei.next().value);
console.log(chei.next().value);
console.log(chei.next().value);

valori

Funcția `values` returnează un iterator al elementelor Setului, în ordinea în care au fost adăugate. Este similară cu funcția `keys`.

const nume = new Set(["Ion", "Gigel", "Vasile", "Dan", "Gigel"]);

const valori = nume.values();

console.log(valori.next().value);
console.log(valori.next().value);
console.log(valori.next().value);
console.log(valori.next().value);
console.log(valori.next().value);

ștergeTot

Funcția `clear` elimină toate elementele dintr-un Set, lăsându-l gol.

const nume = new Set(["Ion", "Gigel", "Vasile", "Dan", "Gigel"]);

nume.clear();

console.log(nume);

pentruFiecare

Funcția `forEach` ne permite să parcurgem Setul și să accesăm fiecare element în parte.

const nume = new Set(["Ion", "Gigel", "Vasile", "Dan", "Gigel"]);

nume.forEach((element) => {
   console.log(element);
});

Aplicații practice

Să vedem un exemplu simplu de utilizare a Seturilor. Să presupunem că avem un array cu valori duplicate și dorim să le eliminăm. Pentru a rezolva această problemă, putem apela la funcționalitatea Seturilor.

Iată etapele pe care le vom urma:

  • Declaram un array cu valori repetitive.
  • Creăm un Set gol.
  • Parcurgem array-ul.
    • Adăugăm fiecare element la Set.
    • Elementele duplicate vor fi ignorate automat.
  • Creăm un array nou gol.
  • Parcurgem Setul și adăugăm fiecare element în noul array.
  • Afișăm noul array.

Vă încurajăm să încercați să implementați singuri soluția. Dacă întâmpinați dificultăți, consultați soluția de mai jos.

const arr = ["Ion", "Gigel", "Vasile", "Dan", "Gigel"];

const temp = new Set();

arr.forEach((element) => {
   temp.add(element);
});

const newArr = [];

temp.forEach((element) => {
   newArr.push(element);
});

console.log(newArr);

Concluzie

Acum, dețineți toate informațiile necesare pentru a utiliza Seturile în JavaScript. Puteți profita de avantajele oferite de acestea în viitoarele voastre proiecte. Vă recomandăm să experimentați cu toate aspectele acestora.

Spor la programare! 👨‍💻