如何在不使用#flatten的情况下访问多维数组中的每个元素?

时间:2016-03-01 20:08:19

标签: arrays

我不久前已经考虑过评估,但这个问题仍然困扰着我。我的想法是添加多维数组的所有元素,如下所示:[1,[2,3],4,[5,6,[7]]]]并将它们添加为像1+2+3+4+5+6+7一样的单行,而不能使用#flatten 。我得到了删除所有整数(如1和4)并将它们添加到自己的变量然后尝试减少(:+)第二级数组([2,3]等),但我可以'弄清楚如何编写一个可以深入研究维度的循环,比如[7]。如何做到这一点?

代码我到目前为止已经尝试过了

def multi_array_sum(arrays)
    #need to add up all array elements
    num = 0
    arr = {}
    arrays.each {|int| num = num + int if int.class == Fixnum; arrays.delete(int)}
    array.map do |numz|
        num = num + numz.reduce(:+)
    end    
end

0 个答案:

没有答案