过滤PokeApi的多个神奇宝贝

Filter multiple pokemons of PokeApi

我向'https://pokeapi.co/api/v2/pokemon/${name}'请求获取特定宝可梦的信息,问题是名称必须相同否则return未定义,我需要过滤很多口袋妖怪,例如:如果我搜索 char,它应该 return charmeleon 和 charizard,因为它们都有 'char'。如何过滤大量的口袋妖怪?

const params = {
  headers: {
    'Content-Type': 'application/json'
  }
}

const searchPokemon = async name => {
  const url = `https://pokeapi.co/api/v2/pokemon/${name}`
  try {
    const response = await fetch(url, params);
    const result = await response.json();
    return result;
  } catch (error) {
    console.log(error)
  }
}

要获得所有可能的口袋妖怪名称的列表,您可以向 https://pokeapi.co/api/v2/pokemon?limit=100000 提出请求(其中 100000 大于现有口袋妖怪的数量。目前似乎只有 1118 只口袋妖怪。 )

结果如下所示:

[
  {
    name:"bulbasaur",
    url:"https://pokeapi.co/api/v2/pokemon/1/"
  },
  {
    name:"ivysaur",
    url:"https://pokeapi.co/api/v2/pokemon/2/"
  },
  {
    name:"venusaur",
    url:"https://pokeapi.co/api/v2/pokemon/3/"
  },
  ...
]

然后您可以根据要查找的名称筛选出该列表。找到自己想要的名字后,可以使用对应的URL获取更多信息