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

148
Visualizações
Filtrar un objeto según los valores de una matriz

Tengo un objeto que contiene nombres y edades de personas.

 {"John":44,"Sarah":23,"Bob":43,"Kate":65,"Bill":18}

y una matriz que proporciona una lista de nombres de empleados

 ['John', 'Bob', 'Kate', 'Bill', 'Fred']

Me gustaría crear un nuevo objeto que contenga solo aquellas personas y sus edades que aparecen tanto en el objeto como en la matriz. Entonces, en este ejemplo, el nuevo objeto contendría

 {"John":44,"Bob":43,"Kate":65,"Bill":18}

"Sarah":23 y Fred no aparecen porque aparecen solo en uno de los anteriores.

¿Alguien puede aconsejarme sobre cómo hacer esto, por favor?

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

0

Puede usar reduce para crear el resultado y el operador in verificar si existe la clave:

 const obj = {"John":44,"Sarah":23,"Bob":43,"Kate":65,"Bill":18}; const keys = ['John', 'Bob', 'Kate', 'Bill', 'Fred']; const result = keys.reduce((acc, el) => { if (el in obj) acc[el] = obj[el]; return acc; }, {}); console.log(result);

Otro enfoque es convertir el objeto en una matriz, usar el filtro y volver a convertir el resultado:

 const obj = {"John":44,"Sarah":23,"Bob":43,"Kate":65,"Bill":18}; const keys = ['John', 'Bob', 'Kate', 'Bill', 'Fred']; const result = Object.fromEntries(Object.entries(obj).filter(([key]) => keys.includes(key))); console.log(result);

about 4 years ago · Juan Pablo Isaza Relatório

0

simplemente

 const jso = { John: 44, Sarah: 23, Bob: 43, Kate: 65, Bill: 18 } , arr = [ 'John', 'Bob', 'Kate', 'Bill', 'Fred' ] , res = arr.reduce((r,a)=>(!!jso[a]?r[a]=jso[a]:'',r),{}) ; console.log(res)

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