现在我的数组是:
[[1,2,3],[4,5,6],[]]
Run Code Online (Sandbox Code Playgroud)
我想计算这个数组并返回一个结果:
[5,7,9]
Run Code Online (Sandbox Code Playgroud)
如果有空数组,请将其删除.然后加上每个子阵列的每个位置.
如果使用数组的每个方法,也许我可以得到结果.但是有没有更好的方法只使用ruby的数组方法?
另一个班轮
arr.reject(&:empty?).transpose.map{|x| x.reduce(:+)}
Run Code Online (Sandbox Code Playgroud)
先摆脱了 []
reject(&:empty?) # equivalent to reject{|x| x.empty?}
Run Code Online (Sandbox Code Playgroud)
现在.transpose
要获得
[[1, 4], [2, 5], [3, 6]]
Run Code Online (Sandbox Code Playgroud)
添加每个子列表
.map{|x| x.reduce(:+)}
Run Code Online (Sandbox Code Playgroud)