下面的hash结构...
{
a: nil,
b: [],
c: {c1: {c2: nil}},
d: [{d1: "Value!"}],
e: "Value!",
f: {f1: {f2: nil, f3: "Value!"}}
}
我希望能够返回...
{
d: [{d1: "Value!"}],
e: "Value!",
f: {f1: {f3: "Value!"}}
}
所以规则是
1)删除指向nil
、{}
或[]
值的所有键
2)删除任何指向空值的值的键(例如原始哈希中的c:
)
3)如果一个或多个内部键指向非空值,则保留外部键,但删除指向空值的内部键。(参见f:
,注意f2:
已被删除)
任何帮助将不胜感激!
3条答案
按热度按时间pbwdgjma1#
您可以通过对所涉及的核心类进行猴子修补来获得一些乐趣:
这是一件不寻常的事情,但如果你确实需要这样做,写一个像
crush
这样的方法可能会有所帮助。g0czyy6m2#
这应该是一个使用嵌套数组和哈希的一次操作:
dgsult0t3#