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

94
Visualizações
Devuelve el objeto de una función recursiva que reorganiza la matriz de objetos literales

Tengo una función que toma un objeto literal como entrada. como resultado, debería devolver 2 matrices de objetos.

Es una función recursiva, por lo que el retorno ocurre en el n-ésimo ciclo de recursión con los siguientes datos:

 //code const filterObject = (object, array1 = null, array2 = null) => { let a1 = array1 === null?[]: array1; //array1 is passed as a part of recursion and when recursed is not null let a2 = array2 === null?[]: array2; //same here ... //some filtering and object manipulation to create **composedObject** ... if (condition x is met){ a1.push(composedObject) } if( condition y is met ){ a2.push(composedObject) ... //filtering out parts of initial object that were used //what is left is assembled into **untreatedObject** ... if (there are still parts of the initial object that are left untreated){ filterObject(untreatedObject, a1, a2); //here recursion happens and we pass these arrays there as well as they will continue to be populated } else if (everything is filtered and objects are ready){ console.log(a1) //values are present and correct console.log(a2) //values are present and correct return { a: a1, b: a2}; } /* where array1:[ { a: 1, b: 'skdfhkdj', c:[ { index:0, code :'red' }, { index:1, code :'redcwrg' } ] } ], array2:[ { a: 1, b: 'skdfhkdj', c:[ { index:2, code :'redaxac' }, { index:3, code :'reddd' } ] } ] */ const result = filterObject(object, null,null); console.log(result); //**gives undefined**.

PREGUNTA Cuando trato de llamar a esta función const result = filterObject(object, null,null) (null,null aquí están los valores iniciales para las matrices. Se asignan a [] al comienzo de la función y luego, cuando ocurre la recursión, se envían también para que se puedan alterar nuevas matrices)

y cuando lo registro, el resultado es del tipo "indefinido" y estoy seguro de que la función tiene los objetos en la matriz antes de que ocurra el return

Entonces, ¿dónde puedo estar equivocado?

Gracias por adelantado

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

0

Falta una cosa de importación: su código no devuelve el objeto devuelto por una llamada recursiva. Solo tiene return para el caso base. Su código no realiza la devolución del otro caso recursivo.

Así que para dejarlo claro, necesitas

 return filterObject(untreatedObject, a1, a2);
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