Nowy zestaw JavaScript

| | | | | | |

Jak używać zestawów w JavaScript

Czy masz listę danych, która powinna zawierać tylko unikalne wartości? W tym miejscu typ danych JavaScript Set naprawdę błyszczy. Jest to nowy typ obiektu, który pozwala na stworzenie kolekcji unikalnych wartości; w zestawie nie są dozwolone duplikaty.

W tym przewodniku omówimy, czym są zestawy, jak działają i kiedy mogą być przydatne. Zobaczymy kilka przykładów każdej z metod Set dostępnych w JavaScript.

Co to jest zestaw?

Zbiór to zbiór wartości „Ęã‚Ęã, który nie może zawierać duplikatów. Ten typ danych został wprowadzony w ECMAScript 6. W szczególności zestawy są cechą wielu innych języków programowania.

Listy są przydatne, ponieważ umożliwiają przechowywanie wielu wartości. Listy obsługują przechowywanie zduplikowanych wartości, co może być przydatne w niezliczonych scenariuszach.

Na przykład, jeśli archiwizujesz listę zamówień w kawiarni, musisz mieć możliwość przechowywania zduplikowanych wartości . Dwóch klientów może zamówić ten sam napój.

W niektórych przypadkach możesz chcieć przechowywać na liście tylko unikalne wartości. W tym miejscu chcesz użyć obiektu Set. Wartości w zestawach mogą pojawić się tylko raz.

W JavaScript zestaw jest deklarowany jak każdy inny obiekt. Stwórzmy Zestaw, który przechowuje listę ulubionych ciast zgłaszanych przez klientów w lokalnej herbaciarni:

Nasz kod zwraca: Ustaw []. Właśnie stworzyliśmy zestaw. W tej chwili nie ma wartości, jak widać na wyjściu naszego kodu ; dodamy je później.

Rozpocznij domyślny zestaw Wartości ‚Ęã‚Ęã

Zestawy mogą być inicjowane z tablicy, łańcucha lub innej iteracji. Jest to przydatne, ponieważ oznacza, że nie musisz ręcznie dodawać wartości do swojego Zestawu; możesz pracować z już istniejących.

Rozważ następującą listę:

Te wartości są obecnie przechowywane w tablicy. Aby przekonwertować je na Set, możemy przekazać naszą tablicę podczas tworzenia nowego obiektu Set:

Nasz kod zwraca:

Dodawanie wartości do zestawu

Obiekt Ensemble e jest dostarczany z metodą o nazwie add(), która ułatwia dodawanie elementów s do zestawu. Nazwa metody użytej do dodania elementu do zestawu jest nawet łatwa do zapamiętania: add().

Powiedzmy, że chcemy dodać „Boston Cream Pie " do naszej listy ciast sprzedawanych w lokalnej piekarni. Używamy metody add(), aby dodać tę wartość:

Nasz kod zwraca:

Nasz zestaw zawiera teraz cztery obiekty. Jeśli spróbujesz dodać obiekt, który jest już w zestawie, obiekt ten nie zostanie dodany. Zestawy nie mogą przechowywać zduplikowanych wartości.

Sprawdź, czy wartość istnieje w zestawie

Musimy sprawdzić, czy „Boston Cream Pie” znajduje się na naszej liście ciast. Był to nowy dodatek do listy ciastek i piekarz chce sprawdzić, czy go dodaliśmy.

W tym miejscu pojawia się metoda has (). < Metoda code>has() pozwala sprawdzić, czy zestaw ma określoną wartość. Po raz kolejny metoda ma łatwą do zapamiętania nazwę!

Rozważ następujący kod:

Nasz kod zwraca: true. Metoda has() zwraca wartość logiczną, true lub false, w zależności od tego, czy Set zawiera konkretną wartość. Ta metoda jest podobna do metody zawiera (), której można użyć na tablicy, ale ma () działa tylko z zestawami.

Usuń wartość z zestawu

Piekarz zdecydował, że w piekarni nie będą już serwowane serniki truskawkowe. Truskawkowy sernik trwał dłużej niż inne ciasta i nie był zbyt popularny.

Możesz usunąć wartość z zestawu za pomocą odpowiedniej metody delete (). Usuńmy wartość „Sernik Truskawkowy” z naszego zestawu:

Nasz kod zwraca:

Sernik truskawkowy został usunięty z naszego zestawu.

Możesz usunąć wszystkie wartości „Ęã”z zestaw przy użyciu metody clear().

Iterowanie po zestawie

Zestawy, takie jak listy, są obiektami iterowalnymi. Wiesz, co to oznacza — możesz je przeglądać.

Zamierzamy użyć pętli for-each do przechodzenia przez nasz zestaw ciastek. Nasza pętla for-each sprawdzi każdy element na naszej liście — dla każdego elementu na liście — i wyśle go do konsoli:

Nasz kod zwraca iterator, który wypisuje każdą wartość naszego zestawu do konsoli: < / p>

C ` jest takie proste ! Pętla for-of:

Ten kod zwraca te same dane wyjściowe, co nasza pętla forEach:

Możesz użyć pętli for do przeglądania zestawu ble, ale ponieważ zestawy są iterowalne lub ggetti, łatwiej jest je użyj pętli for-each lub for-of .

Usuwanie zduplikowanych wartości „Ęã”przy użyciu zestawu

Gdy inicjujesz zestaw za pomocą tablicy, wszystkie zduplikowane wartości „Ęã” być automatycznie usuwane. To niezwykle użyteczna funkcja.

Powiedzmy, że mamy listę zawierającą szereg zamówień na ciastka:

Ten zestaw zawiera wszystkie zamówienia ciastek złożone w piekarni. W sumie istnieje osiem wartości; dwie wartości ‚Ęã‚Ęãsą zduplikowane.

Załóżmy, że piekarz chce wiedzieć, jakie rodzaje ciast został zamówiony, aby mógł zacząć gotować własną kuchnię. konwersja naszego zestawu do listy:

Nasz kod zwraca:

Nasza lista została zredukowana do sześciu wartości. To wszystko są unikalne wartości „na naszej liście zamówień. Pozostał jeszcze jeden krok.

Musimy przekonwertować nasz zestaw ciastek z powrotem na listę, abyśmy mogli wchodzić z nim w interakcję za pomocą standardowej listy metod n następnie zrób to za pomocą metody Array.from():

Nasz kod zwraca:

Podczas gdy wyjście tego kodu jest podobne do naszego zestawu, tam jest jedna wielka różnica: nasze dane są teraz przechowywane jako tablica. Oznacza to, że możemy wchodzić z nim w interakcję za pomocą wszystkich wbudowanych metod tablicowych JavaScript.

Wniosek

Obiekt Set umożliwia przechowywanie listy elementów, które mogą zawierać tylko pojedyncze wartościowe przedmioty. Zestawy można inicjować z istniejącego obiektu iterowalnego, takiego jak lista lub ciąg znaków.

Ponieważ obiekt Set usuwa zduplikowane wartości, można go użyć jako sposobu na usunięcie duplikatów z tablicy. Następnie, po zakończeniu, możesz przekonwertować swój zestaw z powrotem na stół.

Teraz możesz zacząć używać zestawów w JavaScript jak profesjonalista!

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method