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

如何使用旧版jQuery从嵌套JSON数组中获取首个元素

解决旧版jQuery下获取JSON数组首个元素的问题

嘿,我来帮你搞定这个问题!既然你的项目依赖旧版jQuery没法用$.first(),那咱们换个更简单通用的方式——直接用原生数组的索引访问就完全能解决!因为element.lineStatuses是标准JS数组,不管里面有1个还是2个对象,直接用[0]就能拿到第一个元素,这在任何JS环境里都通用,和jQuery版本无关。

给你结合你的AJAX请求,写个完整的示例代码,重点看success回调里的处理逻辑:

$.ajax({
  url: "https://api.tfl.gov.uk/line/mode/tube,overground,dlr,tflrail/status",
  dataType: 'json',
  type: 'get',
  cache: false, // 这里补全你之前省略的cache配置值
  success: function(data) {
    // 遍历返回的每条线路数据
    $.each(data, function(index, element) {
      // 直接通过数组索引[0]获取lineStatuses的第一个对象
      var firstLineStatus = element.lineStatuses[0];
      
      // 加个容错判断,避免数组为空时出现undefined报错
      if (firstLineStatus) {
        // 这里可以按需使用第一个状态对象的属性
        console.log('线路状态:', firstLineStatus.statusSeverityDescription);
        console.log('状态详情:', firstLineStatus.reason || '无特殊说明');
      }
    });
  },
  error: function(xhr, status, error) {
    console.error('请求出错:', error);
  }
});

额外补充说明:

  • 为什么不用$.first()?因为这个方法是jQuery专门用来处理DOM元素集合的,并非针对普通JS数组设计,旧版jQuery确实可能没有这个方法,用数组索引反而更直接靠谱。
  • 加上if (firstLineStatus)的判断是为了容错——虽然你说数组通常有1-2个对象,但万一遇到某个线路的lineStatuses为空的特殊情况,能避免代码报错中断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:08:46