我正在使用Rails 4.2.7。我想在我的对象数组中找到第一个项目,其字段符合特定条件。所以我写了这个冗长的循环...
result = nil
results.each do |r|
if r.valid?
result = r
break
end
end
我的问题是,有更短的方法吗?
答案 0 :(得分:1)
return Json(yourObjectData, JsonRequestBehavior.AllowGet);
https://ruby-doc.org/core-2.2.3/Enumerable.html#method-i-find
感谢Rashmirathi的&符号&冒号捷径!
答案 1 :(得分:0)
您可以尝试使用Array方法选择
results = [{id: 1, valid: true}, {id: 2, valid: false}, {id:3, valid: true}]
result = results.select { |item| item[:valid] == true}.first
您可以在阵列文档中找到更多信息:https://ruby-doc.org/core-2.2.0/Array.html#method-i-select