我明白了:
[{:day=>[1, 2, 3, 4, 5]}, "IceCube::WeeklyRule", 1, 0]
从这里:
event.recurring.map { |key, value| value }
如何获取array (day)
及其值?
答案 0 :(得分:0)
event.recurring.map { |key, value| value }
返回
[{:day=>[1, 2, 3, 4, 5]}, "IceCube::WeeklyRule", 1, 0]
所以
event.recurring.map { |key, value| value }.first
返回
{:day=>[1, 2, 3, 4, 5]}
如果只需要整数数组,请尝试:
event.recurring.map { |key, value| value }.first[:day]
返回哪个
[1, 2, 3, 4, 5]
答案 1 :(得分:0)
a = [{:day=>[1, 2, 3, 4, 5]}, "IceCube::WeeklyRule", 1, 0]
a.first.values.flatten
答案 2 :(得分:0)
让我们假设你有这个:
event_recurring = {k1: {:day=>[1, 2, 3, 4, 5]}, k2: "IceCube::WeeklyRule", k3: 1, k4: 0}
您可以执行以下操作,而不是.map
:
event_recurring.flat_map { |_, v| v[:day] if v.is_a? Hash }.compact
#=> [1, 2, 3, 4, 5]
答案 3 :(得分:0)
要获取日期数组,您可以这样尝试。
arr = [{:day=>[1, 2, 3, 4, 5]}, "IceCube::WeeklyRule", 1, 0]
arr.first[:day]
或
event.recurring.map { |key, value| value }.first[:day]
答案 4 :(得分:0)
.m2