私は配列をループし、他のすべての項目を新しい配列に追加しようとしています。配列をループし、すべての偶数項目を新しい配列に追加する
def yes_no(arr)
i = 0
new_array = []
while i != arr.size
arr.select.each_with_index {|value , index| index.even?}
new_array << value
i += 1
end
new_array
end
コードは、値のある新しい配列をその順序で返します。以下の場合:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
それは返す必要があります:
[1, 3, 5, 7, 9, 2, 6, 10, 8, 4]
初期配列の最初の値が常に取られます。私は私のコードで正しい論理を持っていると信じていますが、私はこの問題を完了するための助けが必要です。ここで
は別の例である:
arr = ['this', 'code', 'is', 'right', 'the']
// returns ['this', 'is', 'the', 'right', 'code']
期待される結果は何ですか?それを一度確認してください。今はかなり不明です。 – Ilya
なぜあなたはこれを 'yes_no'と呼んでいますか? –
期待される結果がどのように得られるかはまだ不明です。 _ "他のすべての項目を新しい配列に追加する" _結果は単純に '[1,3,5,7,9] 'のように聞こえます。なぜそれらに '2,6,10,8,4 'が続いているのかは明らかではありません。 – Stefan