【问题标题】:how to find index with rindex in ruby如何在 ruby​​ 中使用 rindex 查找索引
【发布时间】:2021-01-24 10:40:04
【问题描述】:

我有以下数组

"testArr": [
  {
    "start": "2020-10-9",
    "dest": "2020-10-10"
  },
  {
    "start": "2020-10-10",
    "dest": null
  },
  {
    "start": null,
    "dest": null
  }
]

我想获取 start 不为 null 但 dest 为 null 的元素的索引。下面是这样的:

index = testArr.rindex{|x| x.start.nil? && x.dest.nil?}

puts index

但我不断收到语法错误。我是红宝石新手。有人可以帮忙吗?

谢谢

【问题讨论】:

  • “我有以下数组...我不断收到语法错误”——嗯,这不是有效的 Ruby 代码。它看起来更像是一个 JSON sn-p。

标签: arrays ruby-on-rails ruby filter


【解决方案1】:

假设testArrArray of Hashes,您必须访问像hash[key] 这样的哈希键值而不像hash.keyx[:start] 而不是x.start

以下应该可以工作

index = testArr.rindex {|x| x[:start].present? && x[:dest].nil?}

查看关注

[4] pry(main)> testArr = [ {"start": "2020-10-9", "dest": "2020-10-10" }, {"start": "2020-10-10", "dest": nil}, {"start": nil, "dest": nil}]
=> [{:start=>"2020-10-9", :dest=>"2020-10-10"}, {:start=>"2020-10-10", :dest=>nil}, {:start=>nil, :dest=>nil}]
[5] pry(main)> testArr.rindex {|x| x[:start].present? && x[:dest].nil?}
=> 1

【讨论】:

    猜你喜欢
    • 2010-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    • 2014-09-10
    • 2013-03-29
    • 2018-12-29
    相关资源
    最近更新 更多