You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过fetch函数仅获取数组中的前5条数据?

问题分析与解决:使用fetch获取指定数量数据失败

问题根源

你的代码存在两个核心问题:

  • 重复请求且结果被覆盖:while循环执行了5次fetch请求,每次都会返回完整的用户数组,并且每次都把this.people赋值为完整数组,最后一次赋值会覆盖所有之前的操作,所以最终得到的还是全量数据。
  • 冗余的循环操作:完全不需要循环调用fetch,只需要发起一次请求,拿到完整数据后截取前num条即可。

修正后的代码方案

方案1:前端截取指定数量数据

只发起一次请求,拿到数据后用slice方法截取前num条:

people: [],
getAllProducts(searchInput, num = 5) {
  fetch("https://jsonplaceholder.typicode.com/users")
    .then((response) => response.json())
    .then((res) => {
      // 截取数组前num条数据
      this.people = res.slice(0, num);
    });
}

方案2:通过接口参数控制返回数量(更优)

如果接口支持通过URL参数限制返回条数(比如JSONPlaceholder支持_limit参数),推荐直接在请求时指定,减少数据传输量:

people: [],
getAllProducts(searchInput, num = 5) {
  fetch(`https://jsonplaceholder.typicode.com/users?_limit=${num}`)
    .then((response) => response.json())
    .then((res) => {
      this.people = res;
    });
}

内容的提问来源于stack exchange,提问作者user20984971

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 15:34:52