どうも、ちょげ(@chogetarou)です。
配列(array)の空の要素(nilや空文字)を削除する方法を紹介します。
方法
配列(array)の空の要素(nilや空文字)を削除するには、rejectメソッドを使います。
まず、配列からrejectメソッドを呼び出します。
rejectメソッドに引数を1つ持つブロックを渡します。
rejectメソッドのブロックで「i.nil? || i.empty?
」( i =引数)を返します。
#arr=対象の配列
result = arr.reject { |i| i.nil? || i.empty? }
上記のrejectメソッドは、呼び出した配列(array)から空の要素を削除した配列を生成します。
もし、新しい配列を生成せず、呼び出した配列を変更したい場合は、reject!メソッドを使います。
result = arr.reject { |i| i.nil? || i.empty?}
使用例
使用例1
numbers = ["1", nil, "2", nil, "", "3", "", "4", nil, nil, "5"]
result = numbers.reject { |i| i.nil? || i.empty?}
p result
出力:
["1", "2", "3", "4", "5"]
使用例2
numbers = ["1", nil, "2", nil, "", "3", "", "4", nil, nil, "5"]
numbers.reject! { |i| i.nil? || i.empty?}
p numbers
出力:
["1", "2", "3", "4", "5"]
コメント