给定一个像这样的哈希:
{
id: 1,
name: "test",
children: [
{ id: 1, name: "kid 1" },
{ id: 2, name: "kid 2" }
]
}
如何递归删除所有 id
键?
最佳答案
您可以编写一个函数来递归遍历哈希和数组。
def delete_recursively(thing, key_to_delete)
case thing
when Hash
# Delete the key
thing.delete(key_to_delete)
# Recurse into each remaining hash value.
thing.each_value do |value|
delete_recursively(value, key_to_delete)
end
when Array
# Recurse into each value of the array.
thing.each do |value|
delete_recursively(value, key_to_delete)
end
end
end
可以根据需要进行扩展以包含其他数据类型。
关于ruby-on-rails - 从嵌套哈希中删除所有相似的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57263288/