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

155
Vistas
Referencias de campo de clase de JavaScript y recolección de basura

Implementé una clase que se puede usar para instanciar objetos pasados a una función de visitante que detecta claves duplicadas en un documento JSON. El problema que estoy tratando de resolver es detectar claves duplicadas que están en un documento JSON. Más específicamente, quiero detectar duplicados en el mismo nivel de anidamiento, al que me referiré como contexto de ahora en adelante.

La clase que implementé tiene 2 campos:

  • stack : una matriz que almacena todas las claves visitadas agrupadas por contexto (cada elemento de la matriz contiene claves para un contexto dado)
  • visited : que contiene las claves visitadas para el contexto actual (parte superior de la pila)

Mi pregunta es la siguiente:

¿Debo borrar el Set de las referencias que podrían contener a las teclas cuando las saque de la pila? En otras palabras, ¿es necesaria la llamada discarded?.clear() ya que el conjunto contiene referencias de cadena a las claves visitadas?

Entiendo que la referencia del conjunto en sí se perderá, pero me pregunto acerca de las referencias que contiene el conjunto (a las claves visitadas en el documento json)

 class DetectDuplicates { stack; visited; constructor() { this.stack = []; this.visited = new Set(); } onObjectBegin() { this.stack.push(new Set()); this.visitedKeys = this.stack[this.stack.length - 1]; } onObjectEnd() { const discarded = this.stack.pop(); // Is that necessary? discarded?.clear(); this.visitedKeys = this.stack[this.stack.length - 1]; } }

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

¿Debo borrar el Set de las referencias que podrían contener a las teclas cuando las saque de la pila?

No. Si no se hace referencia a la instancia de Set desde ningún otro lugar, se recolectará basura y se llevará consigo todas las referencias almacenadas en él.

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