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

205
Vistas
Resolver Weave usando recursividad en JS

Nos dan la siguiente clase

 class Queue{ constructor(){ this.data=[]; } add(record){ this.data.unshift(record) } remove(){ return this.data.pop() } peek(){ // console.log() let lastElement=this.data[this.data.length-1] return lastElement; } }

sin usar ninguna función de matriz, debemos escribir una función de tejido que agregará elementos alternativamente como se muestra a continuación ingrese la descripción de la imagen aquí

La función se ve así (es decir, toma dos argumentos/colas como se muestra a continuación)

function weave(sourceOne, sourceTwo) {}

Me gustaría saber si podemos resolver esto usando recursión ( no un ciclo while y no podemos declarar q3 * la nueva Cola fuera de la función) ,

el código que he escrito hasta ahora no funciona, ya que inicia la nueva cola cada vez que se llama a la función,

 let track =0 function weave(sourceOne, sourceTwo) { if(track>0){ const q3 = new Queue() } track++ //in simple language //while sourceOne.peek() is true keep adding if(sourceOne.peek()){ q3.add(sourceOne.remove()) } if(sourceTwo.peek()){ q3.add(sourceTwo.remove()) } console.log(q3) if (sourceTwo.peek()|| sourceOne.peek()){ weave(sourceOne,sourceTwo) } else if( sourceTwo.peek()== null && sourceOne.peek()==null){ return q3 } }

El error se da a continuación, gracias por cualquier ayuda!

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
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