[英]Merge a Hash and an Array in Ruby to form a Hash and add some string to the Array values to be seen in final Hash
需要以用户提供的值作为散列和数组来形成散列...结束散列应将数组项作为键,并向其中添加一些额外的字符串以形成可接受的散列,然后将其与提供的散列合并如果哈希中恰好有重复的键,则最初优先考虑数组项
argument1 = {
'key1' => 'value1',
'key2' => 'value2',
'C' => 'value3',
}
argument2 = ["X","key2","Y"]
需要在数组项中添加键和值字符串,因为它们与
X => {
'added_string' => 'added_string2'
}
对于数组中的key2也是Y
上面的应该与原始参数1合并以具有以下输出
result => {
'key1' => 'value1',
'C' => 'value3',
'X' => {'added_string' => 'added_string2'},
'Y' => {'added_string' => 'added_string2'},
'key2' => {'added_string' => 'added_string2'},
}
参数1中的key2字段将被覆盖,因为它是参数2数组中的重复项,并且其内容设置为参数2中其他数组项的内容
argument1 = {
'key1' => 'value1',
'key2' => 'value2',
'C' => 'value3',
}
argument2 = ["X","key2","Y"]
added = { 'added_string' => 'added_string2' }
puts argument1.merge(
Hash[argument2.zip([added] * argument2.size)]
)
# Hash[:a, :b, :c, :d] => { a: :b, c: :d }
# [:a].zip([:b]) => [[:a, :b]]
# [:a] * 3 => [:a, :a, :a]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.