Estoy trabajando en un proyecto en este momento en el que accedo a los datos de Pokémon de PokeAPI con axios. Solo estoy accediendo a algunos puntos de datos, y uno de ellos es el tipo pokemon. Si el pokemon que estoy buscando tiene dos tipos, devolverá los tipos como matrices separadas.
Por ejemplo, si busco Pikachu, regresa con solo una matriz, que es Eléctrica, porque pikachu solo tiene un tipo. Sin embargo, si busco Gengar, devolverá dos matrices. Uno con veneno y otro con fantasma.
¿Cómo puedo combinarlos en una sola matriz de tipos?
Aquí está mi código:
module.exports = { getPokemon: async (req, res) => { const { pokemon } = req.body; try { const { data } = await axios.get( `https://pokeapi.co/api/v2/pokemon/${pokemon.toLowerCase()}` ); const types = data.types.map((pokemon) => pokemon.type); console.log(types); party.push({ name: data.name, sprites: data.sprites.front_default, types: data.types, }); res.status(200).send(party); } catch (err) { console.log(err); res.status(500).send("something went wrong"); } }, };Y la respuesta que obtengo en la consola:
name: "gengar" sprites: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/94.png" types: Array(2) 0: slot: 1 type: {name: 'ghost', url: 'https://pokeapi.co/api/v2/type/8/'} [[Prototype]]: Object 1: slot: 2 type: {name: 'poison', url: 'https://pokeapi.co/api/v2/type/4/'}