Förstå uppsättningar i JavaScript

Set är ett nytt tillägg till JavaScript i ES6. Låt oss lära oss om det.

Vilka är uppsättningarna?

Hur använder man dem i JavaScript?

Och vilka metoder tillhandahåller för att lösa problem?

Låt oss ta reda på svaren på alla frågor i den här handledningen.

Uppsättningar

Som namnet antyder är en uppsättning en samling unika element. Den lagrar inte de upprepade värdena.

Uppsättningar i JavaScript lagrar elementen i infogningsordningen. Så de är beställda i JavaScript. Och det kommer att lagra primitiva datatyper eller objekt.

Låt oss se syntaxen för uppsättningarna i JavaScript.

Jag hoppas att du har IDE för att träna följande.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);
console.log(names);

const randomWord = new Set("Hiiiiiii");
console.log(randomWord);

const numbers = new Set([5, 5, 5, 2, 1, 1, 2, 3]);
console.log(numbers);

Egenskaper och metoder

Uppsättningar har olika egenskaper och metoder som hjälper oss att arbeta med dem för att lösa olika problem. Egenskaperna och metoderna är lika enkla som att skapa dem. Du kan enkelt få metodernas funktionalitet med själva namnen. Låt oss se dem en efter en.

storlek

Egenskapsstorleken returnerar antalet element som finns i uppsättningen.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);
console.log(`Size: ${names.size}`);

Lägg till

Metoden add används för att lägga till ett nytt element till uppsättningen. Om det nya elementet redan finns i uppsättningen kommer det inte att läggas till det.

// empty set
const names = new Set();

names.add("John");
names.add("Harry");
names.add("Wick");
names.add("Jack");
names.add("Harry");

console.log(names);

har

Metoden tar ett argument och returnerar sant om elementet finns i mängden annars returnerar det false.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

console.log(names.has("Harry"));
console.log(names.has("Alley"));

radera

Som du förväntar dig tar metoden delete ett argument och tar bort det från setet. Det ger inget fel även om det givna argumentet inte finns i uppsättningen.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

names.delete("John");

console.log(names);

poster

Metodposterna returnerar en iterator som innehåller arrayer av nyckel-värdepar i infogningsordningen. Här är nyckel och värde desamma.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

const entries = names.entries();

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

nycklar

Metodnycklarna returnerar en iterator av set-element i infogningsordningen.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

const keys = names.keys();

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

värden

Metodvärdena returnerar en iterator av set-element i insättningsordningen som liknar metodnycklarna.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

const values = names.values();

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

klar

Metoden clear tar bort alla element från uppsättningen.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

names.clear();

console.log(names);

för varje

Metoden forEach används för att iterera över setet och hämta alla element en efter en från den.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

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

Diverse

Låt oss se en enkel tillämpning av set med ett program. Givet en array ta bort alla dubbletter av värden från den. För att lösa problemet kan vi använda den inställda egenskapen.

Låt oss se steget för att lösa det.

  • Initiera en array med dummydata.
  • Initiera en tom uppsättning.
  • Iterera över arrayen av element.
    • Lägg till varje element i uppsättningen.
    • Det kommer att ta bort dubbletter av element automatiskt.
  • Initiera en tom array.
  • Iterera över uppsättningen och lägg till varje element i den nya arrayen.
  • Skriv ut den nya arrayen.

Jag hoppas att du kan lösa det själv. Om du tycker att det är svårt att koda, ta en titt på lösningen nedan.

const arr = ["John", "Harry", "Wick", "Jack", "Harry"];

const temp = new Set();

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

const newArr = [];

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

console.log(newArr);

Slutsats

Nu har du all kunskap som behövs för att arbeta med set i JavaScript. Du kan använda dem i ditt nästa projekt. Varsågod och använd varje bit av det.

Glad kodning 👨‍💻