Insert hash values into another hash in ruby without outer parenteses [重复]

问题描述 投票:0回答:1

我的一个模板中有以下数据结构:

[
  {
    geometry: {
      type: geometry, coordinates: coordinates
    },
  }
]

然后我有一个看起来像这样的选项哈希:

options = { label: "Hot Chicken Takeover",
            tooltip: "5 stars",
            color: "#0090ff" }

如何将选项中的键值对添加到上面的数组中,使其看起来像这样:

[
  {
    geometry: {
      type: geometry, coordinates: coordinates
    },
    label: "Hot Chicken Takeover",
    tooltip: "5 stars",
    color: "#0090ff"
  }
]

有什么方法可以在 ruby 中“压平”哈希值吗?

ruby hash
1个回答
0
投票

在下面给出的示例中,我们首先使用

data[0]
访问数据数组的第一个元素。然后,我们使用
options
方法将
geometry
哈希合并到
merge
哈希中。生成的哈希值被分配回数据[0]。

data = [{ geometry: { type: 'geometry', coordinates: [1, 2] }}]

options = { label: "Hot Chicken Takeover",
            tooltip: "5 stars",
            color: "#0090ff" }

data[0] = data[0].merge(options)

puts data.inspect

输出

[{:geometry=>{:type=>"geometry", :coordinates=>[1, 2]}, :label=>"Hot Chicken Takeover", :tooltip=>"5 stars", :color=>"#0090ff"}]
© www.soinside.com 2019 - 2024. All rights reserved.