gpt4 book ai didi

ruby - 从 Ruby 哈希数组访问特定值

转载 作者:数据小太阳 更新时间:2023-10-29 08:39:24 25 4
gpt4 key购买 nike

我有这样一个哈希数组

[{:payer_id=>1, :price=>20}, {:payer_id=>2, :price=>30}] 

等给定特定的 payer_id 如何获取价格?我知道这个问题很基础,但我想不出来。

最佳答案

你可以这样做

payers = [{:payer_id=>1, :price=>20}, {:payer_id=>2, :price=>30}]
payer_id = 2

payers.detect { |payer| payer[:payer_id] == payer_id }.try(:[], :price)
# => 30

我用了detect获取与 id 匹配的第一个付款人,然后获取其价格。如果没有匹配的付款人,您将返回 nil,因此您可以使用 try获取价格,这样即使没有找到付款人,代码也不会引发错误。
try 是 ActiveSupport 的一部分,因此如果您不使用它,只需将 .try(:[], :price) 替换为 [:价格]

关于ruby - 从 Ruby 哈希数组访问特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14151646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com