gpt4 book ai didi

ruby-on-rails - Ruby:加入哈希键

转载 作者:数据小太阳 更新时间:2023-10-29 07:52:46 25 4
gpt4 key购买 nike

我有以下哈希:

{
a: {
b: {
c1: "c1 value",
c2: "c2 value",
c3: {
d: "d value
}
}
}

我如何将他转换为下一个结果:

{
"a.b.c1" => "c1 value",
"a.b.c2" => "c2 value",
"a.b.c3.d" => "d value"
}

最佳答案

这是一个modified解决方案:

h = {
a: {
b: {
c1: "c1 value",
c2: "c2 value",
c3: {
d: "d value"
}
}
}
}

def flatten_hash(h)
return { "" => h } unless h.is_a?(Hash)
Hash[h.map { |a,v1| flatten_hash(v1).map { |b,v2| [[a,b].map(&:to_s).delete_if(&:empty?).join('.'), v2] } }.flatten(1)]
end

p flatten_hash(h)

关于ruby-on-rails - Ruby:加入哈希键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23407449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com