我有一个 JSON 文件,其解析数据存储在 @colors 实例变量中,如下所示:
[{:color=>"red", :value=>"#f00"} {:color=>"green", :value=>"#0f0"} {:color=>"blue", :value=>"#00f"} {:color=>"cyan", :value=>"#0ff"} {:color=>"magenta", :value=>"#f0f"} {:color=>"yellow", :value=>"#ff0"} {:color=>"black", :value=>"#000"}]
现在我想遍历这个输出以在一个视图中创建一个表
<tr><td>color</td><td>value</td></tr>
当我派生另一个这样的实例变量时——
@even_colors = @colors.values_at(* @colors.each_index.select {|i| i.even?}).map(&:values)
我得到一个由其他所有颜色/值对组成的数组数组
[["red", "#f00"], ["blue", "#00f"], ["magenta", "#f0f"], ["black", "#000"]]
但是我想创建两个单独的数组,一个仅包含由 :color (红色、蓝色等)指示的颜色名称,另一个仅由 :value (#f00、#00f 等)指示的十六进制组成。 )。我似乎无法弄清楚如何做到这一点。有人有什么建议吗?谢谢 ...