Compreendendo conjuntos em JavaScript

Os conjuntos são um novo complemento para JavaScript no ES6. Vamos aprender sobre isso.

Quais são os conjuntos?

Como usá-los em JavaScript?

E que métodos fornece para resolver problemas?

Vamos descobrir as respostas para todas as perguntas neste tutorial.

Conjuntos

Como o nome indica, um conjunto é uma coleção de elementos únicos. Não armazena os valores repetidos.

Os conjuntos em JavaScript armazenarão os elementos na ordem de inserção. Então, eles são ordenados em JavaScript. E armazenará tipos de dados ou objetos primitivos.

Vamos ver a sintaxe dos conjuntos em JavaScript.

Espero que você tenha IDE para praticar o seguinte.

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

Propriedades e Métodos

Os conjuntos têm diferentes propriedades e métodos que nos ajudam a trabalhar com eles para resolver diferentes problemas. As propriedades e métodos são tão simples quanto criá-los. Você pode obter facilmente a funcionalidade dos métodos com seus próprios nomes. Vamos vê-los um por um.

  Como aumentar a nitidez de uma imagem no Photoshop

Tamanho

A propriedade size retorna o número de elementos presentes no conjunto.

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

adicionar

O método add é usado para adicionar um novo elemento ao conjunto. Se o novo elemento já estiver presente no conjunto, ele não será adicionado.

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

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

console.log(names);

tem

O método recebe um argumento e retorna true se o elemento estiver presente no conjunto, senão retorna false.

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

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

excluir

Como você espera, o método delete pega um argumento e o exclui do conjunto. Ele não gera nenhum erro, mesmo que o argumento fornecido não esteja presente no conjunto.

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

names.delete("John");

console.log(names);

entradas

As entradas do método retornam um iterador contendo matrizes de pares chave-valor na ordem de inserção. Aqui, chave e valor são os mesmos.

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

chaves

As chaves do método retornam um iterador de elementos definidos na ordem de inserção.

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

valores

Os valores do método retornam um iterador de elementos definidos na ordem de inserção semelhante às chaves do método.

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

Claro

O método clear remove todos os elementos do conjunto.

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

names.clear();

console.log(names);

para cada

O método forEach é usado para iterar sobre o conjunto e obter todos os elementos um a um dele.

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

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

Diversos

Vejamos uma aplicação simples de conjuntos com um programa. Dado um array, remova todos os valores duplicados dele. Para resolver o problema, podemos fazer uso da propriedade set.

  O que é o Slack e por que as pessoas o adoram?

Vamos ver o passo para resolvê-lo.

  • Inicialize uma matriz com dados fictícios.
  • Inicializa um conjunto vazio.
  • Iterar sobre a matriz de elementos.
    • Adicione todos os elementos ao conjunto.
    • Ele removerá elementos duplicados automaticamente.
  • Inicialize uma matriz vazia.
  • Iterar sobre o conjunto e adicionar todos os elementos à nova matriz.
  • Imprima a nova matriz.

Espero que você consiga resolver sozinho. Se você achar difícil codificar, dê uma olhada na solução abaixo.

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

Conclusão

Agora, você tem todo o conhecimento necessário para trabalhar com conjuntos em JavaScript. Você pode usá-los em seu próximo projeto. Vá em frente e aproveite cada pedacinho dela.

  Pesquisa reversa uma captura de tela de um anime para ver de qual série é

Boa codificação 👨‍💻