我有一个像这样的数组:
[1, 2, 3, 4, 5, nil, 7, 8, 9, nil, nil, 12]
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到这些数字总和的数组,以 4 为一组,这样当遇到 nil 时,它被视为零?
那么结果将是:
[10, 20, 21]
Run Code Online (Sandbox Code Playgroud)
像这样的东西应该有效(可能有更有效的解决方案):
array = [1, 2, 3, 4, 5, nil, 7, 8, 9, nil, nil, 12]
array.each_slice(4).map { |slice| slice.sum(&:to_i) }
#=> [10, 20, 21]
Run Code Online (Sandbox Code Playgroud)