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

如何将API获取的XRP排名变量作为另一接口返回数组的下标取值

解决方案

方案1:函数返回值调用(实现最简单,适合单次使用场景)

首先修改第一个函数,将获取到的排名作为返回值输出,而不是仅声明为局部变量:

function getXRPRank() {
  var url = "https://api.coinpaprika.com/v1/coins/xrp-xrp";
  var XRPresponse = UrlFetchApp.fetch(url);
  var XRPjson = XRPresponse.getContentText();
  var XRPdata = JSON.parse(XRPjson);
  return XRPdata.rank;
}

之后在第二个函数中直接调用上述函数拿到最新排名,替换硬编码的下标即可:

function myXRP() {
  var url = "https://api.coinpaprika.com/v1/tickers";
  var response = UrlFetchApp.fetch(url);
  var json = response.getContentText();
  var data = JSON.parse(json);
  // 获取最新排名替换硬编码值
  var currentRank = getXRPRank();
  var XRP = data[currentRank].symbol;
  // 后续业务逻辑
}

方案2:全局变量存储(适合多函数复用排名,避免重复请求接口)

如果需要在多个函数中使用该排名,不想重复发请求获取,可以把排名存储在全局变量中:

// 声明全局变量存储排名
var XRPGlobalRank;

function fetchXRPRank() {
  var url = "https://api.coinpaprika.com/v1/coins/xrp-xrp";
  var XRPresponse = UrlFetchApp.fetch(url);
  var XRPjson = XRPresponse.getContentText();
  var XRPdata = JSON.parse(XRPjson);
  XRPGlobalRank = XRPdata.rank;
}

function myXRP() {
  // 排名未获取时先请求接口
  if (!XRPGlobalRank) {
    fetchXRPRank();
  }
  var url = "https://api.coinpaprika.com/v1/tickers";
  var response = UrlFetchApp.fetch(url);
  var json = response.getContentText();
  var data = JSON.parse(json);
  var XRP = data[XRPGlobalRank].symbol;
  // 后续业务逻辑
}

补充说明:如果运行后发现获取的不是XRP数据,说明排名接口返回的是1开头的计数规则,而JavaScript数组下标从0开始,把下标的currentRank/XRPGlobalRank改成currentRank - 1/XRPGlobalRank - 1即可适配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 01:06:02