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

158
Visualizações
cómo encontrar un valor de una matriz de objetos en función de otras matrices con identificadores

Estoy tratando de filtrar el nombre de los géneros para una película según las identificaciones. así que si la identificación coincide, obtengo ese nombre.

 const genres = [ { id: 28, name: "Action" }, { id: 12, name: "Adventure" }, { id: 16, name: "Animation" }, { id: 35, name: "Comedy" }, { id: 80, name: "Crime" }, { id: 99, name: "Documentary" }, { id: 18, name: "Drama" }, { id: 10751, name: "Family" }, { id: 14, name: "Fantasy" }, { id: 36, name: "History" }, { id: 27, name: "Horror" }, { id: 10402, name: "Music" }, { id: 9648, name: "Mystery" }, { id: 10749, name: "Romance" }, { id: 878, name: "Science Fiction" }, { id: 10770, name: "TV Movie" }, { id: 53, name: "Thriller" }, { id: 10752, name: "War" }, { id: 37, name: "Western" }, ]; const genre_ids = [10752, 10770, 18, 12]
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Puede filtrar los genres usando genre_ids y luego mapear los valores específicos

 function filterGenres(genres, ids) { return genres .filter((genre) => ids.indexOf(genre.id) != -1) .map((genre) => genre.name) }

o, alternativamente, utilice la función de reduce

 function filterGenres(genres, ids) { return genres.reduce((results, genre) => { if(ids.indexOf(genre.id) != -1) { results.push(genre.name); } return results; }, []); }
about 4 years ago · Juan Pablo Isaza Relatório

0

La siguiente puede ser una posible solución para lograr el objetivo deseado.

Fragmento de código

 const getNames = (ids, objects) => ( ids.map(el => ( objects.find( ({id}) => id === el )?.name )) ); // below will be better in performance // but the names returned will be ordered based on 'genres' array // objects.filter(({id}) => ids.some(el => el === id)) // .map(({name}) => name) const genres = [ { id: 28, name: "Action" }, { id: 12, name: "Adventure" }, { id: 16, name: "Animation" }, { id: 35, name: "Comedy" }, { id: 80, name: "Crime" }, { id: 99, name: "Documentary" }, { id: 18, name: "Drama" }, { id: 10751, name: "Family" }, { id: 14, name: "Fantasy" }, { id: 36, name: "History" }, { id: 27, name: "Horror" }, { id: 10402, name: "Music" }, { id: 9648, name: "Mystery" }, { id: 10749, name: "Romance" }, { id: 878, name: "Science Fiction" }, { id: 10770, name: "TV Movie" }, { id: 53, name: "Thriller" }, { id: 10752, name: "War" }, { id: 37, name: "Western" }, ]; const genre_ids = [10752, 10770, 18, 12]; console.log(getNames(genre_ids, genres));

Explicación

  • Se utiliza un nuevo método getNames para obtener el resultado.
  • Para cada id en la matriz de genre_ids
  • Encuentra si hay una entrada en genres (haciendo coincidir el id prop)
  • Si lo encuentra, devuelva el accesorio de name del elemento de genres coincidentes
  • Y la matriz resultante se devuelve (implícitamente)

Método comentado:

  • Filtra los genres y desestructura para obtener solo el id
  • Compruebe si la id está presente en la matriz de genre_ids
  • En caso afirmativo, use .map para desestructurar solo el name
  • Y esta matriz resultante de name se devuelve (implícitamente)

Este método regresa en un orden diferente (basado en la matriz de genres ).

about 4 years ago · Juan Pablo Isaza Relatório

0

¿Estás intentando algo como esto?

 let genre_names = new Array(); for(let i=0; i<genre_ids.length; i++) { var a = genres.find(x=>x.id == genre_ids[i]); if (!!a) genre_names.push(a.name); } console.log(genre_names);

resultando en [Guerra, Películas de TV, Drama, Aventura] ?

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