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

Ruby哈希解析求助:获取"HTTP get traffic"对应的Id值

Ruby哈希解析:获取指定TextId对应的Id值

要从给定的Ruby哈希中获取TextId为"HTTP get traffic"对应的Id值,可以用以下两种方法实现:

方法一:使用flat_map + find(简洁写法)

target_text_id = "HTTP get traffic"

# 展开所有测试项并筛选目标条目
target_test = gettest["Groups"]
              .flat_map { |group| group["Tests"] }
              .find { |test| test["Description"]["TextId"] == target_text_id }

# 提取Id值,未找到则返回nil
id_value = target_test ? target_test["Id"] : nil

puts id_value # 输出:9

代码说明

  • flat_map 将每个分组下的Tests数组展开为一维数组,避免嵌套遍历的繁琐
  • find 遍历所有测试项,匹配到目标TextId后返回对应的测试条目
  • 最后通过三元运算符处理未找到目标的情况,避免报错

方法二:嵌套遍历(直观写法)

如果更习惯逐层级遍历,也可以用嵌套循环实现:

target_text_id = "HTTP get traffic"
id_value = nil

gettest["Groups"].each do |group|
  group["Tests"].each do |test|
    if test["Description"]["TextId"] == target_text_id
      id_value = test["Id"]
      break # 找到目标后终止内层循环
    end
  end
  break if id_value # 已找到目标,终止外层循环
end

puts id_value # 输出:9

代码说明

  • 外层循环遍历所有分组,内层循环遍历每个分组下的测试项
  • 匹配到目标TextId后立即赋值并终止循环,提升效率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:01:29