Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

118
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda