Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

117
Visualizações
Objeto JavaScript de matriz

Estoy siguiendo el tutorial de freeCodeCamp ( https://www.freecodecamp.org/learn/coding-interview-prep/data-structures/create-a-set-class ) para crear un conjunto. Estoy confundido por la propiedad del diccionario y la construcción de la clase ( no instanciarla, pero gracias por las respuestas). ¿Es una matriz? ¿Es un objeto sin pares de valores clave? El ejemplo que dieron hace que parezca así para mi segunda pregunta:

 const set1 = new Set([1, 2, 3, 5, 5, 2, 0]); console.log(set1); // output: {1, 2, 3, 5, 0}

Cuando lo trato como una matriz, no funciona. Entonces, ¿cómo creo un método de agregar o quitar para la clase Set?

 class Set { constructor() { // Dictionary will hold the items of our set this.dictionary = {}; this.length = 0; } add(element){ dictionary.push(element) // fails } remove(element){ if(dictionary.indexOf(element) === -1) // fails } }
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

No es una matriz. Set es un objeto que contiene valores únicos, tiene métodos como has y add

 const set1 = new Set([1, 2, 3, 5, 5, 2, 0]); set1.has(2)// returns true set1.delete(1) // removes the value 1 set1.add(33) // adds the value 33 at the end of the set

puede recorrerlo de varias maneras usando forEach

 set1.forEach( value => console.log(value) )
about 4 years ago · Juan Pablo Isaza Relatório

0

agregar elementos a un conjunto se puede lograr fácilmente mediante el método de add a continuación hay un código de muestra para eliminar un elemento que puede usar el método de delete

 var set = new Set(); set.add("one"); set.add("two"); set.add("three"); document.writeln("Size before invoking delete() method: "+ set.size+"<br>"); set.delete("three"); document.writeln("Size after invoking delete() method: "+set.size);

about 4 years ago · Juan Pablo Isaza Relatório

0

el dictionary debería ser this.dictionary .

{} crea un objeto. Los objetos no tienen métodos push() o indexOf() . Para agregar un nuevo elemento a un objeto, asígnele un nombre de propiedad. No hay necesidad de probar si el elemento está en el objeto al eliminarlo, solo use delete para eliminar el elemento; si la clave no existe, no hará nada.

Puede usar un objeto para representar un conjunto usando las claves de objeto como elementos del conjunto, ya que las claves no se pueden duplicar. El valor puede ser cualquier cosa, se ignora porque solo estamos usando las claves.

Si desea probar si existe una clave, puede usar if (this.dictionary.hasOwnProperty(element))

 class MySet { constructor() { // Dictionary will hold the items of our set this.dictionary = {}; } add(element) { this.dictionary[element] = null; } remove(element) { delete this.dictionary[element]; } get length() { return Object.keys(this.dictionary).length; } } let s = new MySet(); s.add("foo"); s.add("bar"); console.log(Object.keys(s.dictionary)); s.remove("foo"); console.log(Object.keys(s.dictionary));

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda