如何将模型的元素分成两个大小相同的部分,以便我可以将它们显示在两列中?
i have this: element 1 element 2 element 3 element 4 element 5 and i want this: element 1 element 4 element 2 element 5 element 3
不幸的是,split()删除了中间元素.
解决方法
Array#in_groups_of是核心扩展,仅在Rails中可用.它使用的是each_slice方法.
你可以像这样使用它:
a = ["element 1","element 2","element 3","element 4","element 5"] a.each_slice((a.size/2.0).ceil) { |slice| puts slice } if a.size > 0
会给你
["element 1","element 3"] ["element 4","element 5"]
请注意,您必须检查a.size是否大于0,否则由于切片大小无效,您将收到ArgumentError异常.