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

163
Visualizações
mapear una matriz de objetos usando un diccionario

Analizar una matriz de objetos en un nuevo formulario usando un diccionario como alias, pero me pregunto si se puede hacer sin Object.keys

 const mapper = { "card_title": "title", "card_content": "content", "card_subtitle": "subtitle" } const data = [ { card_title: "wowo1", card_content: "wowo1", card_subtitle: "wowo1", }, { card_title: "wowo1", card_content: "wowo1", card_subtitle: "wowo1", }, { card_title: "wowo1", card_content: "wowo1", card_subtitle: "wowo1", }, ]

esta es la parte donde me gustaría cambiarla tal vez con el operador de propagación

 let results = data.map((r) => { let obj = {}; Object.keys(mapper).map(key => obj[mapper[key]] = r[key] ) return obj; })

Expected result that i achieved with the code above

 [ { title: 'wowo1', content: 'wowo1', subtitle: 'wowo1' }, { title: 'wowo1', content: 'wowo1', subtitle: 'wowo1' }, { title: 'wowo1', content: 'wowo1', subtitle: 'wowo1' } ]
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Debe usar Object.entries para obtener pares clave, valor como una matriz, y luego usar Object.fromEntries para obtener el nuevo objeto después de mapear la clave usando mapper y mantener el valor tal como está.

Prueba como a continuación.

 const mapper = { "card_title": "title", "card_content": "content", "card_subtitle": "subtitle" } const data = [ { card_title: "wowo1", card_content: "wowo1", card_subtitle: "wowo1", }, { card_title: "wowo1", card_content: "wowo1", card_subtitle: "wowo1", }, { card_title: "wowo1", card_content: "wowo1", card_subtitle: "wowo1", }, ] const output = data.map((item) => Object.fromEntries( Object.entries(item).map(([key, value]) => [mapper[key], value]) ) ); console.log(output);

about 4 years ago · Juan Pablo Isaza Relatório

0

Sin cambiar el mapper , tendrá que usar Object.keys() en el mapper O en los objetos de datos. ¿Quizás quieras usar un map ?

 const mapper = new Map() mapper.set('card_title', 'title') mapper.set('card_content', 'content') mapper.set('card_subtitle', 'subtitle') const data = [ { card_title: "wowo1", card_content: "wowo1", card_subtitle: "wowo1", }, { card_title: "wowo1", card_content: "wowo1", card_subtitle: "wowo1", }, { card_title: "wowo1", card_content: "wowo1", card_subtitle: "wowo1", }, ] const mapped = data.map(d => { const obj = {} mapper.forEach((val, key) => { obj[val] = d[key] }) return obj }) console.log(mapped)

usando Map y reduce()

 const mapper = new Map() mapper.set('card_title', 'title') mapper.set('card_content', 'content') mapper.set('card_subtitle', 'subtitle') const data = [{ card_title: "wowo1", card_content: "wowo1", card_subtitle: "wowo1", }, { card_title: "wowo1", card_content: "wowo1", card_subtitle: "wowo1", }, { card_title: "wowo1", card_content: "wowo1", card_subtitle: "wowo1", }, ] const mapped = data.map(src => { return Array.from(mapper).reduce((obj, [from, dest]) => { obj[dest] = src[from] return obj }, {}) }) console.log(mapped)

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