Um conjunto JavaScript é uma coleção de valores exclusivos.
Cada valor só pode ocorrer uma vez em um Conjunto.
Cria um novo conjunto
Adiciona um novo elemento ao Conjunto
Remove um elemento de um conjunto
Retorna verdadeiro se existir um valor no Conjunto
Invoca um retorno de chamada para cada elemento do Conjunto
Retorna um iterador com todos os valores em um Conjunto
Retorna o número de elementos em um conjunto
Você pode criar um conjunto JavaScript por:
Passando um array para new Set()
Crie um novo conjunto e use add()
para adicionar valores
Crie um novo conjunto e use add()
para adicionar variáveis
novo Set()
Passe um Array para o construtor new Set()
:
// Create a Set
const letters = new Set(["a","b","c"]);
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Sets</h2>
<p>Create a Set from an Array:</p>
<p id="demo"></p>
<script>
// Create a Set
const letters = new Set(["a","b","c"]);
// Display set.size
document.getElementById("demo").innerHTML = letters.size;
</script>
</body>
</html>
Crie um conjunto e adicione valores:
// Create a Set
const letters = new Set();
// Add Values to the Set
letters.add("a");
letters.add("b");
letters.add("c");
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Sets</h2>
<p>Add values to a Set:</p>
<p id="demo"></p>
<script>
// Create a Set
const letters = new Set();
// Add Values to the Set
letters.add("a");
letters.add("b");
letters.add("c");
// Display set.size
document.getElementById("demo").innerHTML = letters.size;
</script>
</body>
</html>
Crie um conjunto e adicione variáveis:
// Create a Set
const letters = new Set();
// Create Variables
const a = "a";
const b = "b";
const c = "c";
// Add Variables to the Set
letters.add(a);
letters.add(b);
letters.add(c);
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Sets</h2>
<p>Add variables to a Set:</p>
<p id="demo"></p>
<script>
// Create a Set
const letters = new Set();
// Create Variables
const a = "a";
const b = "b";
const c = "c";
// Add the Variables to the Set
letters.add(a);
letters.add(b);
letters.add(c);
// Display set.size
document.getElementById("demo").innerHTML = letters.size;
</script>
</body>
</html>
add()
letters.add("d");
letters.add("e");
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Sets</h2>
<p>Adding new elements to a Set:</p>
<p id="demo"></p>
<script>
// Create a new Set
const letters = new Set(["a","b","c"]);
// Add a new Element
letters.add("d");
letters.add("e");
// Display set.size
document.getElementById("demo").innerHTML = letters.size;
</script>
</body>
</html>
Se você adicionar elementos iguais, apenas o primeiro será salvo:
letters.add("a");
letters.add("b");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");
Experimente você mesmo →
forEach()
O método forEach()
invoca (chama) uma função para cada elemento Set:
// Create a Set
const letters = new Set(["a","b","c"]);
// List all Elements
let text = "";
letters.forEach (function(value) {
text += value;
})
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Sets</h2>
<p>forEach() calls a function for each element:</p>
<p id="demo"></p>
<script>
// Create a Set
const letters = new Set(["a","b","c"]);
// List all Elements
let text = "";
letters.forEach (function(value) {
text += value + "<br>";
})
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
values()
O método values()
retorna um novo objeto iterador contendo todos os valores em um Conjunto:
letters.values() // Returns [object Set Iterator]
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Sets</h2>
<p>Set.values() returns a Set Iterator:</p>
<p id="demo"></p>
<script>
// Create a Set
const letters = new Set(["a","b","c"]);
// Display set.size
document.getElementById("demo").innerHTML = letters.values();
</script>
</body>
</html>
Agora você pode usar o objeto Iterator para acessar os elementos:
// List all Elements
let text = "";
for (const x of letters.values()) {
text += x;
}
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Sets</h2>
<p>Iterating Set values:</p>
<p id="demo"></p>
<script>
// Create a Set
const letters = new Set(["a","b","c"]);
// List all Elements
let text = "";
for (const x of letters.values()) {
text += x + "<br>";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>