Tengo una llamada a la API que devuelve 1 nombre de película al azar... El código lo ha configurado para que solo devuelva 1 nombre de película.
Luego tengo una segunda llamada API que usa ese nombre de película en una segunda solicitud de axios para encontrar servicios de transmisión disponibles para este título de película específico.
Mi problema es que la segunda llamada a la API devuelve una matriz de aproximadamente 20 opciones. Por ejemplo, si busqué 'Tiburón', ofrece resultados para Tiburón, todas las demás películas de Tiburón y cualquier otra película con Tiburón en el nombre.
Mi pregunta es, ¿cómo filtro esta información de devolución para encontrar una combinación perfecta con el título de película correcto y solo mostrar esa información? Espero que puedas ayudar y seguro que va a ser alguna lógica de filtrado. ¡Gracias! Soy nuevo en React, así que trato de aprender.
const optionsParams = { method: 'GET', url: 'https://mdblist.p.rapidapi.com/', params: [], headers: { 'X-RapidAPI-Host': 'mdblist.p.rapidapi.com', 'X-RapidAPI-Key': '384177d302msh9d8e58dffccp1bfa57jsnf3cea9fef042', }, }; axios .request({ ...optionsParams, params: { s: ${movieData.title} } }) .then(function (response) { console.log(response.data); const traktid = response.data.search.traktid; const traktidOptions = { ...optionsParams, params: { t: ${traktid}` } }; axios.request(traktidOptions).then(función (respuesta) {
const streamingServices = response.data.streams; setStreamingState(streamingServices); //console.log(streamingState); console.log(response.data.streams) let temporaryArray = []; for (let i = 0; i < response.data.streams.length; i++){ temporaryArray.push(response.data.streams[i].name) console.log(temporaryArray); } setStreamingState(streamingState => [...streamingState, `${temporaryArray}`]) if (streamingState) { console.log(streamingState) } else return false; }) })`Los métodos de matriz son la herramienta perfecta para iterar y organizar datos de matriz.
En este caso, Array.prototype.find() lo ayudará a revisar su matriz y devolver un solo elemento según sus criterios.
Por ejemplo:
const yourArray = ["jaws", "not this jaws", "definitely not jaws"]; const found = yourArray.find(arrayItem => arrayItem === "jaws");Este es un ejemplo simple sin objetos, por lo que solo necesita establecer los criterios en función de una propiedad del objeto.