我不得不遍历一些JSON字符串,这是它的样子:如何优化这个迭代(ruby)?
parsed.each do |a|
a.each do |b|
if(b.class == Array)
b.each do |c|
c["attributes"].each do |d|
p d
end
end
end
end
end
任何人可以帮助我把这个在一个或两行呢?提前致谢!
基督教
我不得不遍历一些JSON字符串,这是它的样子:如何优化这个迭代(ruby)?
parsed.each do |a|
a.each do |b|
if(b.class == Array)
b.each do |c|
c["attributes"].each do |d|
p d
end
end
end
end
end
任何人可以帮助我把这个在一个或两行呢?提前致谢!
基督教
parsed.flatten.each do |c|
c["attributes"].each { |d| p d }
end
更改为: parsed.each do | a,b | if(b.class == Array) b.flatten.each do | c | c [“attributes”]。each {| d | p d} 结束 结束 结束 看起来很不错,现在:) – cjohannsen
以下约尔格W¯¯米塔格的建议编辑。
p(*parsed.grep(Array).flat_map{|c| c["attributes"]})
提示:只要你有'select'和''===,只要使用'grep'代替。 'grep'使用'==='。所以,只要执行'grep(Array)'。 –
@JörgWMittag谢谢。这很有帮助。 – sawa
你可以发布一个示例输入和输出? –
codereview.stackexchange.com是适合此类问题的网站。 –
代码评论(http://codereview.stackexchange.com)更适合优化/改进代码。 – g00glen00b