b1g*_*eer 3 ruby arrays hash key-value
我在数组中有一些数据集如下所示:
array = [ "Name = abc", "Id = 123", "Interest = Rock Climbing" ]
Run Code Online (Sandbox Code Playgroud)
我需要将其转换为哈希,如下所示:
hash = { "Name" => "abc", "Id" => "123", "Interest" => "Rock Climbing" }
Run Code Online (Sandbox Code Playgroud)
我一定做错了,因为我得到了与我的.shift.split奇怪的映射,导致{"Name = abc"=>"Id = 123"}.谢谢.
您需要做的就是将数组的每个部分拆分为一个键和值(产生一个双元素数组的数组),然后将结果传递给方便的Hash[]方法:
arr = [ "Name = abc", "Id = 123", "Interest = Rock Climbing" ]
keys_values = arr.map {|item| item.split /\s*=\s*/ }
# => [ [ "Name", "abc" ],
# [ "Id", "123" ],
# [ "Interest", "Rock Climbing" ] ]
hsh = Hash[keys_values]
# => { "Name" => "abc",
# "Id" => "123",
# "Interest" => "Rock Climbing" }
Run Code Online (Sandbox Code Playgroud)