在Ruby中将散列值插入到另一个散列中,而不带外括号[重复]

qq24tv8q  于 2023-04-20  发布在  Ruby
关注(0)|答案(1)|浏览(101)

此问题已在此处有答案

How can I merge two hashes?(4个答案)
9小时前关闭
我的一个模板中有以下数据结构:

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

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

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

如何将options中的key-value对添加到上面的数组中,使其看起来像这样:

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

在Ruby中有什么方法可以使哈希值变平吗?

wixjitnu

wixjitnu1#

在下面给出的例子中,我们首先使用data[0]访问数据数组的第一个元素。然后使用merge方法将options哈希合并到geometry哈希中。结果哈希被分配回data[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"}]

相关问题