我有一個數組,我需要將它分成兩個,一個接一個的場景。我想分裂成兩個並行陣列
number = [1,2,3,4,5,6,7,8,9]
我需要把它滑入兩個相似的奧雅納的回答以下
split1 = [2,4,6,8]
split2 = [1,3,5,7,9]
我有一個數組,我需要將它分成兩個,一個接一個的場景。我想分裂成兩個並行陣列
number = [1,2,3,4,5,6,7,8,9]
我需要把它滑入兩個相似的奧雅納的回答以下
split1 = [2,4,6,8]
split2 = [1,3,5,7,9]
的修改:
split1, split2 = [1,2,3,4,5,6,7,8,9].partition.with_index{|_, i| i.odd?}
split1 # => [2, 4, 6, 8]
split2 # => [1, 3, 5, 7, 9]
split1, split2 = %i[a b c d e].partition.with_index{|_, i| i.odd?}
split1 # => [:b, :d]
split2 # => [:a, :c, :e]
可以也做到這一點。例如這個爲的偶數。
my_array[1..10].each {|a| puts a if a % 2 == 0}
嘗試使用:分割1,split2 = number.partition(?分割1) –
請編輯您的帖子,它是非常混亂有關邏輯要建。 –
這不是一個Rubyish代碼,因此我不會將它添加爲答案。但是您可以將它複製到您的編輯器中,並運行它並嘗試理解它。如果你這樣做,那麼@薩瓦的答案將會很清楚。儘管你的'#分區'是一個不錯的選擇。 'number = [1,2,3,4,5,6,7,8,9] split1,split2 = number.each_index.with_object(Array.new(2){[]})do | ind,ary | ind.even? ? ary [1] << number [ind]:ary [0] << number [ind] end split1#=> [2,4,6,8] split2#=> [1,3,5,7 ,9]' –