我有一个哈希数组和一个哈希:
original = [{"a"=>1}, {"a"=>2}]
new = {"a"=>1, "z"=>2}
如果密钥original
具有特定值,我想替换"a"
中的哈希,假设为1
。如果此键值对不存在,那么我想将该哈希作为另一个元素插入。结果应该是:
original = [{"a"=>1, "z"=>2},{"a"=>2}]
如果new
如下:
new = {"a"=>2, "z"=>2}
然后我希望original
成为:
original = [{"a"=>2, "z"=>2},{"a"=>1},{"a"=>2}]
如何在没有迭代的情况下执行此操作?我尝试了以下代码,但是当没有该键值对时不会插入。我怎么能一气呵成呢?
答案 0 :(得分:0)
您可以使用Ruby的has_key?
方法执行此操作,它将返回true
或false
。例如
new = {"a"=>2, "z"=>2}
if new.has_key?("a")
# do this
else
# do this
end