我有一个多维数组,如下所示
{
patient: {
value: 66,
entry_date: "2017-01-17",
source: "self entered",
risk_level: nil,
risk_ranges: [{
level: "low",
is_active: false,
range_low: 80,
range_high: 139,
unit: "mg/dL"
}, {
level: "moderate",
is_active: false,
range_low: 140,
range_high: 199,
unit: "mg/dL"
}, {
level: "high",
is_active: false,
range_low: 200,
range_high: nil,
unit: "mg/dL"
}]
}
}
我想知道is_active
数组中false
是否为risk_ranges
。
当然,我可以访问patient.risk_ranges[0].is_active
,patient.risk_ranges[1].is_active
和patient.risk_ranges[2].is_active
,但想知道是否有更好的方式来撰写此内容。
如果数组中所有3个对象中is_active
为false
,则设置patient.risk_level = high
我该怎么做?
答案 0 :(得分:0)
你可以按照
的方式做点什么if patient.risk_ranges.all?{ |range| range.is_active == false}
patient.risk_level = "high"
end