O tipo de dado Set possui alguns métodos para nos auxiliar na manipulação de seus elementos. Nesta parte do tutorial, vamos estudar todos esses métodos.

Método Descrição Link
add Adiciona um elemento Visitar
clear Remove todos elementos Visitar
delete Remove um elemento Visitar
entries Retorna um iterador Visitar
forEach Executa uma função para todos os elementos Visitar
has Verificar se um elemento existe Visitar
keys Retorna iterador contendo chaves/índices Visitar
values Retorna um iterador contendo todos os valores Visitar

Com o método add podemos adicionar um novo elementos, que é passado como argumento, a um Set.

Sintaxe
nome_variavel_set.add(value);
Onde
value: valor ou objeto para adicionar
Retorno
nome_variavel_set contendo value adicionado
Exemplo 1
let mset = new Set("ABC");
console.log(mset);
mset.add('D');
console.log(mset);

Saída
Set(3) { 'A', 'B', 'C' }
Set(4) { 'A', 'B', 'C', 'D' }

O método clear é utilizado para excluir todos os elementos contidos em um Set. Esse método não recebe argumentos e não possui retorno.

Sintaxe
nome_variavel_set.clear()
Onde
-
Retorno
-
Exemplo 2
array = ["fulano","ciclano","beltrano"];
let mset = new Set(array);
console.log(mset.size);
mset.clear();
console.log(mset.size);
Saída
3
0

Com o método delete podemos excluir uma elemento em específico baseado em sua chave que é passada como argumento.

Sintaxe
nome_variavel_set.delete(key)
Onde
key: chave do elemento para exclusão.
Retorno
Um booleano contendo true se elemento existe e foi removido, false caso contrário.
Exemplo 3
array = ["fulano","ciclano","beltrano"];
let mset = new Set(array);
console.log(mset.size);
mset.delete("beltrano");
console.log(mset.size);
Saída
3
2

Utilizando o método entries podemos recuperar o iterador para os elementos contidos em um Set. Como não há chave no tipo de dado Set, o iterador conterá os elementos no formato [valor,valor] para uso.

Sintaxe
nome_variavel_set.entries()
Onde
-
Retorno
Iterador para elementos no formato [valor,valor]. 
Exemplo 4
let mset = new Set("string");
for( let c of mset.entries())
  console.log("chave:",c[0],"valor:",c[1]);
Saída
chave: s valor: s
chave: t valor: t
chave: r valor: r
chave: i valor: i
chave: n valor: n
chave: g valor: g

O método forEach é utilizado para percorrermos todos os elementos de um Set. Uma função(callback), função anônima ou função arrow, é passada como argumento e será executada para todo os elementos.

Sintaxe 1
forEach(() => { /* … */ } )
forEach((value) => { /* … */ } )
forEach((value, key) => { /* … */ } )
forEach((value, key, set) => { /* … */ } )
Sintaxe 2
forEach(callbackFn)
forEach(callbackFn, thisArg)
Sintaxe 3
forEach(function() { /* … */ })
forEach(function(value) { /* … */ })
forEach(function(value, key) { /* … */ })
forEach(function(value, key, set) { /* … */ })
forEach(function(value, key, set) { /* … */ }, thisArg)
Onde
value: valor do elemento atual
key: chave do elemento atual
set: objeto Set iterado
thisArg: argumento this passado para função
callbackFn: função passada como argumento
Exemplo 5
let mset = new Set("string");

mset.forEach((value) =>{
  console.log(value);
});
Saída
s
t
r
i
n
g

Utilizando o método has, podemos verificar se um elemento, cuja chave é passada como argumento, está contido ou existe em um Set.

Sintaxe
nome_variavel_set.has(value)
Onde
 value: valor do elemento para verificar
Exemplo 6
let mset = new Set("ABC");
console.log(mset.has("A"));
console.log(mset.has("D"));
Saída
true
false

O método keys é utilizado para recuperar um iterador contendo todas as chaves dos elementos contidos em um Set. Como Set não possui chave/valor. As chaves são retornadas como valor.

Sintaxe
nome_variavel_set.keys()
Onde
-
Retorno
Iterador para as valores dos elementos de um Set. 
Exemplo 7
let mset = new Set("ABC");
console.log(mset.keys());
Saída
[Set Iterator] { 'A', 'B', 'C' }

Utilizando o método values podemos recuperar um iterador que aponta para os elementos contidos em um Set.

Sintaxe
nome_variavel_set.values()
Onde
-
Retorno
Iterador para os elementos de um Set. 
Exemplo 8
let mset = new Set("ABC");
console.log(mset.values());
Saída
[Set Iterator] { 'A', 'B', 'C' }
  1. 18/08/2025 - revisão 4 - Ajustes: pontuais e sintaxes
  2. 25/09/2024 - revisão 3 - Correção em 'add', 'entries', 'forEach'; ajustes pontuais
  3. 02/09/2024 - revisão 2 - Correção em links de objetivos
  4. 06/10/2023 - revisão 1 - Correção navegação, layout e erros gramaticais
  5. 31/05/2023 - versão inicial