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

127
Visualizações
¿Cómo devolver un objeto con un valor dado?

Estoy haciendo un filtro de búsqueda. Necesito devolver el objeto completo que contiene el actor dado por el usuario. Puedo encontrar al actor, pero no estoy seguro de cómo devolver el objeto donde está el actor.

Archivo JSON:

 { "title": "American Assassin", "year": 2017, "cast": [ "Dylan O'Brien", "Michael Keaton", "Sanaa Lathan", "Shiva Negar", "Taylor Kitsch" ], "genres": [] }, { "title": "Mother!", "year": 2017, "cast": [ "Jennifer Lawrence", "Javier Bardem", "Michelle Pfeiffer", "Domhnall Gleeson", "Ed Harris", "Kristen Wiig" ], "genres": [] }

Mi función de filtro:

 checkCast(allMovies) { return filter(allMovies, (movie) => { const actor = filter(movie.cast, (actor) => { return actor.toLowerCase().includes(this.search.cast.toLowerCase()) }) console.log(actor) return actor }); }

Espero que todo esté claro.

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

0

Debe filtrar la matriz allMovies buscando un actor en la matriz de case . Use Array.some() (o lodash _.some() ) para devolver true si se encuentra un actor coincidente.

 const search = { cast: 'bardem' }; function checkCast(allMovies) { return allMovies.filter(movie => movie.cast.some(actor => actor.toLowerCase().includes(search.cast.toLowerCase()) ) ); } const allMovies = [{"title":"American Assassin","year":2017,"cast":["Dylan O'Brien","Michael Keaton","Sanaa Lathan","Shiva Negar","Taylor Kitsch"],"genres":[]},{"title":"Mother!","year":2017,"cast":["Jennifer Lawrence","Javier Bardem","Michelle Pfeiffer","Domhnall Gleeson","Ed Harris","Kristen Wiig"],"genres":[]}] const result = checkCast(allMovies) console.log(result)

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede usar array#find con array#includes para verificar si el reparto de la película incluye un actor.

 const movies = [{ "title": "American Assassin", "year": 2017, "cast": [ "Dylan O'Brien", "Michael Keaton", "Sanaa Lathan", "Shiva Negar", "Taylor Kitsch" ], "genres": [] }, { "title": "Mother!", "year": 2017, "cast": [ "Jennifer Lawrence", "Javier Bardem", "Michelle Pfeiffer", "Domhnall Gleeson", "Ed Harris", "Kristen Wiig" ], "genres": [] }], actor = 'Ed Harris', movie = movies.find(({cast}) => cast.includes(actor)); console.log(movie);

También puede usar convertir actor y emitir nombre a minúsculas para comparar usando array#find y array#some .

 const movies = [{ "title": "American Assassin", "year": 2017, "cast": [ "Dylan O'Brien", "Michael Keaton", "Sanaa Lathan", "Shiva Negar", "Taylor Kitsch" ], "genres": [] }, { "title": "Mother!", "year": 2017, "cast": [ "Jennifer Lawrence", "Javier Bardem", "Michelle Pfeiffer", "Domhnall Gleeson", "Ed Harris", "Kristen Wiig" ], "genres": [] }], actor = 'ed harris', movie = movies.find(({cast}) => cast.some(member => member.toLowerCase() === actor.toLowerCase())); console.log(movie);

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