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

156
Visualizações
¿Cómo implemento un objeto de 'seguimiento' dentro de mi constructor de clase?

Creé una aplicación web Binary Sudoku que utiliza una cadena de funciones recursivas para generar una cuadrícula aleatoria resuelta, en cuyo punto la cuadrícula se reduce, mediante algunas funciones de reducción, a unas pocas fichas iniciales para que los jugadores las vuelvan a ensamblar (resolver) . Por el bien de mi propia curiosidad, estoy tratando de construir un objeto constructor dentro de mi clase de generador principal que hará un seguimiento de cuántas veces se ejecuta cada función recursiva, cada vez que genero un nuevo tablero (no estoy interesado en conservar estos datos más allá de una sola instancia de tablero). También me gustaría registrar el tiempo de ejecución total de esta operación después de que se haya generado el tablero.

Hasta ahora, he intentado implementar este objeto dentro de mi constructor:

 this.stats = { rowGenerator: 0, rowAssembler: 0, colTotalCheck: 0, colUniqueCheck: 0, runtime: 0 };

Dentro de cada una de mis cuatro funciones recursivas, he colocado estos incrementos en la parte superior:

 this.stats.rowGenerator++; this.stats.rowAssembler++; this.stats.colTotalCheck++; this.stats.colUniqueCheck++;

Actualmente, esto devuelve un TypeError para cada referencia a los respectivos valores de 'estadísticas'.

 Uncaught TypeError: Cannot read properties of undefined (reading 'colUniqueCheck')

También coloqué métodos de temporización antes y después de la cadena recursiva para registrar el tiempo de ejecución, pero desafortunadamente la única respuesta de temporización que recibo es '0ms'. Los métodos de temporización se escriben así:

 startTime() { // before recursive chain return performance.now(); }; endTime() { // after recursive chain return performance.now(); }; totalTime() { const end = this.endTime(); const start = this.startTime(); return `Runtime: ${end - start}ms`; };

He buscado problemas similares, pero no puedo encontrar ninguna información útil que sea exclusiva de estos problemas, tal vez el seguimiento de estas pequeñas estadísticas triviales no sea realista dentro de una clase.

Cualquier idea es apreciada.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Está llamando a this.checkColumnsUnique (que accede a this.stats ) incluso antes de inicializar this.stats :

 this.fillBoard = this.checkColumnsUnique(); this.stats = { rowGenerator: 0, rowAssembler: 0, colTotalCheck: 0, colUniqueCheck: 0, runtime: 0 };

Si invierte el orden de estas dos declaraciones, funcionará.

(Sin embargo, hay otro problema: en checkColumnsUnique llamas a checkColumnsUnique sin this. delante).

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