Precisei desenvolver uma funcionalidade em TypeScript para uma aplicação web que filtra jogadores de Quadribol. A aplicação deve fazer uma requisição GET para uma API que retorna informações sobre personagens de Harry Potter que JOGAM quadribol e entao retornar o Nome, Casa e posição.
interface Character {
name: string;
house: string;
playsQuidditch: boolean;
position: string;
quidditchYears: number[];
}
fetch("[<https://coderbyte.com/api/challenges/json/quidditch-list>](<https://coderbyte.com/api/challenges/json/quidditch-list>)")
.then(result => result.json())
.then((characters: Character[]) => {
const quidditchPlayers = characters
.filter(player => player.playsQuidditch)
.map(player => ${player.name} ${player.house} ${player.position});
console.log(JSON.stringify(quidditchPlayers));
});
Interface Character
Define os campos esperados da API (nome, casa, posição, etc).
Fetch (requisição GET)
Usa fetch para buscar os dados da API externa.
Conversão para JSON
O .json() transforma a resposta em um array de objetos Character.
Filtragem com .filter
Seleciona apenas os personagens com playsQuidditch = true.
Transformação com .map
Cria um novo array com strings formatadas:
Nome Casa Posição
Exibição no Console
O resultado é exibido em JSON, pronto para uso ou integração.
.filter() → seleciona apenas os jogadores de Quadribol..map() → cria uma lista formatada com Nome, Casa e Posição.