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

135
Visualizações
El objeto Javascript obtiene propiedades del nivel más bajo

Quiero saber cuál es la mejor manera de simplificar un objeto para que solo contenga las propiedades del nivel más bajo del objeto real. Lo explicaré con el siguiente ejemplo:

Objeto inicial

 const start = { a: 1, b: { c: 2, d: 3 }, e: 4, f:{ g: 5 } }

Objeto buscado

 const wanted = { a: 1, c: 2, d: 3, e: 4, g: 5 }



Generalmente sé cómo hacerlo, pero parece muy lujoso para objetos grandes. Por lo tanto, no quiero escribir:
 const simplified = { a: start.a, c: start.bc, d: start.bd, e: start.e, g: start.fg }

Aparentemente, no es posible desestructurar un objeto dentro de otro objeto, pero también ayudaría si pudiera obtener los hijos de los objetos principales más fácilmente, de alguna manera así:

 const simplified = { a: start.a, //start.b.children? e: start.e, //start.f.children? }

También quiero evitar crear duplicados de las variables fuera de la creación del objeto con desestructuración.




¿Cuál es la mejor práctica para reestructurar un objeto de esa manera?

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

0

Simplemente puede crear una función recursiva que agregará propiedades a su resultado solo si el valor actual no es del tipo de object , y si lo es, páselo a otra llamada recursiva.

 const start = {"a":1,"b":{"c":2,"d":3},"e":4,"f":{"g":5}} function flatten(data) { return Object.entries(data).reduce((r, [k, v]) => { if (typeof v === 'object') Object.assign(r, flatten(v)) else r[k] = v return r }, {}) } const result = flatten(start) console.log(result)

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede mapear el objeto o las partes anidadas.

 function flat(object) { return Object.assign({}, ...Object .entries(object) .map(([k, v]) => v && typeof v === 'object' ? flat(v) : { [k]: v } )); } console.log(flat({ a: 1, b: { c: 2, d: 3 }, e: 4, f:{ g: 5 } }));

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