我有一个使用情况,其中我有一个现有的哈希:
response = { aa: 'aaa', bb: 'bbb' }
我需要将id
添加为键之一。
当我使用response.merge(id: 'some_id')
,然后将其转换为JSON时,我得到的id
是最后一个元素,这不是我想要的。
我想在response
的开头插入id: 'some_id'
。
我尝试过这个方法,但迭代它并不好:
new_response = { id: 'some id' }
response.keys.reverse.each {|key| new_response[key] = response[key] }
基本上,我需要类似于 Ruby Array 的 unshift
的功能。
irb(main):042:0> arr = [1, 2, 3]
=> [1, 2, 3]
irb(main):043:0> arr.unshift(5)
=> [5, 1, 2, 3]
{'b' => 1, 'a' => 2} # => {"b"=>1, "a"=>2}
如果按照任何其他意义进行“排序”,键/值对的位置都会改变。 - the Tin Man