Сетови су нови додатак за ЈаваСцрипт у ЕС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);
Закључак
Сада имате сво знање које је потребно за рад са скуповима у ЈаваСцрипт-у. Можете их користити у свом следећем пројекту. Само напред и искористи сваки део тога.
Срећно кодирање 👨💻