在Javascript中通过API中的对象集合进行循环

在Javascript中通过API中的对象集合进行循环,javascript,api,loops,object,Javascript,Api,Loops,Object,我正在尝试循环此API中的一组条目: 列出ID为8477000至8477500的玩家的姓名。我的问题是我不确定如何通过ID访问循环 这是我的密码: function App() { const [loading, setLoading] = useState(true); const [player, setPlayer] = useState(); useEffect(() => { const fetchTiers = async () => { await fetch(&q

我正在尝试循环此API中的一组条目: 列出ID为8477000至8477500的玩家的姓名。我的问题是我不确定如何通过ID访问循环

这是我的密码:

function App() {
const [loading, setLoading] = useState(true);
const [player, setPlayer] = useState();
useEffect(() => {
const fetchTiers = async () => {
  await fetch("https://statsapi.web.nhl.com/api/v1/people/8477000/")
    .then((res) => res.json())
    .then((res) => setPlayer(res))
    .then(() => setLoading(false))
    .catch((err) => setLoading(err));
 };
 fetchTiers();
}, []);

const fullname = player ? player.people[0].fullName : "";
return <div className="App">{loading ? "Loading...." : fullname}</div>;
}
然后

但不起作用。

我不知道该怎么做。

尝试创建动态url 让数字=8477000
If(number以下是基于开始和结束ID构建请求承诺数组以设置数组长度的方法

然后使用
Promise.all()
返回播放器数据的完整数组

对于ID可能无法返回有效响应但为您提供了一个良好起点的情况,这将需要进一步开发

const getPlayer=id=>fetch(`https://statsapi.web.nhl.com/api/v1/people/${id}/`)
.then(res=>res.json()).then(data=>data.people[0]);
const getAllPlayers=(开始、结束)=>{
const=Array.from({length:end-start},(u,i)=>getPlayer(start+i));
返回承诺。全部(请求承诺)
}
常数开始=8477000,
结束=开始+3;
getAllPlayer(开始,结束).then(players=>console.log(players.map({fullName}=>fullName)))

对于初学者来说,api文档是否允许提交多个玩家id?您从api获得的id的范围是什么?我在上面显示了。它是8477000到8477500@charlietfl我不知道如何才能找到答案?这是api文档:如果(数字请修改格式。很难读懂这种规则文本和代码的混合体。所以我用随机数而不是数字。我相信这就是你的意思?@AlexanderAlexandrovcmon man它的格式已经足够了,所以也不容易进行格式修改…你如何修改它以打印出页面上的名称呢?创建一个玩家代码onent并将此玩家数组传递给玩家状态,然后使用
players.map(player=>)
输出列表
fetch("https://statsapi.web.nhl.com/api/v1/people/")
//add a random number between 0 and 500
const rand = Math.floor((Math.random() * 500) + 0);
player.people.rand.fullName