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

150
Visualizações
Creación de un objeto anidado a partir de una matriz de claves y valores de destino

Tengo una matriz de objetos que me gustaría transformar en un solo objeto js. La matriz contiene el valor objetivo y la matriz de claves. Nota: quiero que esto funcione en vanilla js sin importar scripts.

La matriz de origen:

 [ { value: 'res-1', keys: [ 'first' ] }, { value: 'res-2', keys: [ 'second', 'deeperOne' ] }, { value: 'res-3', keys: [ 'second', 'deeperTwo' ] }, { value: 'res-4', keys: [ 'second', 'deeperThree', 'moreDeeper' ] }, { value: 'res-5', keys: [ 'third' ]} ]

Resultado deseable (objeto):

 { first: 'res-1', second: { deeperOne: 'res-2', deeperTwo: 'res-3', deeperThree: { moreDeeper: 'res-4' } }, third: 'res-5' }

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

cmgchess respondió a la pregunta con un comentario. ¡Aquí está el código!

 const array = [ { value: 'res-1', keys: [ 'first' ] }, { value: 'res-2', keys: [ 'second', 'deeperOne' ] }, { value: 'res-3', keys: [ 'second', 'deeperTwo' ] }, { value: 'res-4', keys: [ 'second', 'deeperThree', 'moreDeeper' ] }, { value: 'res-5', keys: [ 'third' ]} ] const set = (obj, path, value) => { path.reduce((acc, key, i) => { if (acc[key] === undefined) acc[key] = {} if (i === path.length - 1) acc[key] = value return acc[key] }, obj) } let object = {} array.forEach(({value, keys}) => set(object, keys, value)) console.log(object)

about 4 years ago · Santiago Trujillo 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