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

JavaScript如何正确访问字符串元素数组并提取目标值

问题原因

当前定义的是一维字符串数组,并非嵌套二维数组:

  • array[0]获取到的是数组索引0位的完整字符串值:from 05:04 - to 09:41, train 342 SEK, wifi
  • JavaScript支持通过索引访问字符串的单个字符,因此array[0][0]实际返回的是上述字符串的首字符f,不符合预期是正常表现。
正确取值方法

读取数组内已拆分的独立项

数组中已经拆分好的独立内容,直接通过对应索引访问即可:

  • 读取行程时长/换乘信息:array[1],返回"Restid 4:37 tim, 0 byten"
  • 读取价格数值:array[4],返回"342"
  • 读取货币单位:array[5],返回"SEK"
  • 读取票价类型:array[6],返回"Företagspris"
  • 读取座位等级:array[7],返回"2 klass, 2 klass Lugn, 1 klass"
  • 读取车次信息:array[8],返回"Snabbtåg, X 2000, Tåg 522"

提取首项长字符串内的结构化内容

如果需要从array[0]的长字符串里提取出发时间、到达时间、wifi标识这类细分内容,需要先对字符串做分割或者正则匹配:

字符串拆分方式示例

const firstStr = array[0];
// 先按逗号拆分字符串为三个片段
const [timeSection, trainPriceSection, wifiTag] = firstStr.split(', ');
// 拆分时间片段
const [fromText, toText] = timeSection.split(' - ');
const departTime = fromText.slice(5); // 出发时间 "05:04"
const arriveTime = toText.slice(3); // 到达时间 "09:41"
const hasWifi = wifiTag === 'wifi'; // 判断是否配备wifi,返回true

正则匹配方式示例

const firstStr = array[0];
// 匹配起止时间
const timeRegResult = firstStr.match(/from (\d{2}:\d{2}) - to (\d{2}:\d{2})/);
const departTime = timeRegResult[1]; // "05:04"
const arriveTime = timeRegResult[2]; // "09:41"
// 匹配字符串内标注的票价
const priceInFirstStr = firstStr.match(/train (\d+) SEK/)[1]; // "342"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 20:18:25