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

基于SWAPI开发应用:如何统计各型号星际飞船的数量?

解决方案

SWAPI本身没有提供按型号分组统计的接口,也没有内置的型号计数器,但你可以通过以下方式实现需求:

  • 拉取所有星舰数据:SWAPI的星舰接口是分页返回的,你需要遍历所有分页(检查响应中的next字段,直到next为null时停止),收集所有星舰的完整数据。
  • 本地统计型号数量:用一个键值对结构(比如JavaScript的Map、Python的字典),以星舰的model字段为键,每获取到一艘星舰就对应累加计数。

举个简单的JavaScript实现示例:

async function countStarshipModels() {
  const modelCounts = new Map();
  let nextUrl = 'https://swapi.dev/api/starships/';

  while (nextUrl) {
    const response = await fetch(nextUrl);
    const data = await response.json();
    
    // 统计当前页的型号
    data.results.forEach(starship => {
      const model = starship.model;
      modelCounts.set(model, (modelCounts.get(model) || 0) + 1);
    });
    
    nextUrl = data.next;
  }

  // 输出统计结果
  modelCounts.forEach((count, model) => {
    console.log(`${model}: ${count}艘`);
  });
}

countStarshipModels();

运行这段代码后,就能得到每种型号飞船的数量,比如你提到的"CR90 corvette"会被统计出2艘。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 15:26:56