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

Сетови су нови додатак за ЈаваСцрипт у ЕС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);

Закључак

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

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