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

112
Visualizações
Ejecutar una función recursivamente en Javascript

Creé esta función:

 const demoD = ( obj, toChange, newV, ) => { return Object.keys(obj).reduce((acc, key) => { if (typeof obj[key] === 'object') { demoD(obj[key], toChange, newV); } acc[key] = obj[key] === toChange ? newV : obj[key] return acc }, {}) } const obj = { name: '', age: '687', demo: { test: '' } } console.log(demoD(obj, '', null))

La idea de esta función es cambiar un valor del objeto por uno nuevo, y debe ejecutarse recursivamente.
Espero este resultado:

 const obj = { name: null', age: '687', demo: { test: null' } }

Pero no obtengo este resultado, y la test sigue sin cambios.
Pregunta: ¿Cómo solucionarlo y cuál es el problema?

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

0

Si desea aplicar cambios al objeto original en su lugar:

 const demoD = ( obj, toChange, newV, ) => { return Object.keys(obj).reduce((acc, key) => { if (typeof obj[key] === 'object') { demoD(obj[key], toChange, newV); } acc[key] = obj[key] === toChange ? newV : obj[key] return acc }, obj) // 👈 send in obj here }

Si no desea mutar su objeto original, entonces debería ser:

 const demoD = ( obj, toChange, newV, ) => { return Object.keys(obj).reduce((acc, key) => { if (typeof obj[key] === 'object') { acc[key] = demoD(obj[key], toChange, newV) } else { acc[key] = obj[key] === toChange ? newV : obj[key] } return acc }, {}) }
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