Разумевање скупова у ЈаваСцрипт-у

Сетови су нови додатак за ЈаваСцрипт у ЕС6. Хајде да научимо о томе.

Шта су сетови?

Како их користити у ЈаваСцрипт-у?

И које методе пружају за решавање проблема?

Хајде да сазнамо одговоре на сва питања у овом водичу.

Сетови

Као што име каже, скуп је колекција јединствених елемената. Не чува поновљене вредности.

Скупови у ЈаваСцрипт-у ће складиштити елементе у редоследу уметања. Дакле, они су поређани у ЈаваСцрипт-у. И чуваће примитивне типове података или објекте.

Хајде да видимо синтаксу скупова у ЈаваСцрипт-у.

Надам се да имате ИДЕ да вежбате следеће.

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);

Својства и методе

Скупови имају различита својства и методе које нам помажу да радимо са њима у решавању различитих проблема. Својства и методе су једноставни као и њихово креирање. Функционалност метода можете лако добити са њиховим самим називима. Хајде да их видимо једног по једног.

величина

Величина својства враћа број елемената присутних у скупу.

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

додати

Метода адд се користи за додавање новог елемента у скуп. Ако је нови елемент већ присутан у скупу, онда га неће додати.

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

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

console.log(names);

има

Метод има један аргумент и враћа тачно ако је елемент присутан у скупу, иначе враћа нетачно.

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

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

избрисати

Као што очекујете, метода делете узима аргумент и брише га из скупа. Не даје никакву грешку чак и ако дати аргумент није присутан у скупу.

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

names.delete("John");

console.log(names);

уносе

Уноси методе враћају итератор који садржи низове парова кључ/вредност у редоследу уметања. Овде су кључ и вредност исти.

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);

кључеви

Кључеви методе враћају итератор елемената скупа у редоследу уметања.

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);

вредности

Вредности методе враћају итератор елемената скупа у редоследу уметања слично кључевима методе.

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);

јасно

Метода цлеар уклања све елементе из скупа.

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

names.clear();

console.log(names);

за сваки

Метода форЕацх се користи за понављање скупа и добијање свих елемената један по један из њега.

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

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

Остало

Погледајмо једноставну примену скупова са програмом. Дати низ уклоните све дупликате вредности из њега. Да бисмо решили проблем, можемо користити својство скупа.

  Гоогле диск наспрам Мицрософт ОнеДриве: шта је боље?

Хајде да видимо корак да то решимо.

  • Иницијализујте низ лажним подацима.
  • Иницијализујте празан скуп.
  • Итерирајте низ елемената.
    • Додајте сваки елемент у скуп.
    • Аутоматски ће уклонити дуплиране елементе.
  • Иницијализујте празан низ.
  • Итерирајте преко скупа и додајте сваки елемент новом низу.
  • Одштампајте нови низ.

Надам се да ћете то сами решити. Ако вам је тешко кодирати, погледајте решење у наставку.

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);

Закључак

Сада имате сво знање које је потребно за рад са скуповима у ЈаваСцрипт-у. Можете их користити у свом следећем пројекту. Само напред и искористи сваки део тога.

Срећно кодирање 👨‍💻