Rubyにおける配列操作まとめ
参考URL
mapメソッド
処理後に戻り値で配列を作成する。 しかし、元の配列が上書きされることはない。元の配列の値を変えたいなら、再代入する必要あり。
array = ["a", "b", "c"] array.map {|item| item.upcase } # 各要素を大文字にする =>["A", "B", "C"] # 戻り値は改変された要素の配列 # 実行後のarrayの中身。元の配列はそのまま ["a", "b", "c"]
map!メソッド
元の配列の値を処理結果に置き換えたい場合に使用。map!は元の配列を戻り値に置き換える。
array = ["a", "b", "c"] # 配列 array.map! {|item| item.upcase } # 各要素を大文字にする # 実行後のarrayの中身。元の配列は戻り値で置き換わっている。 ["A", "B", "C"]
selectメソッド
selectメソッドは「条件に合う要素」のみを取得し、配列として返す。
array = [1, 2, 3, 4, 5, 6, 7, 8] array = array.select {|item| item <= 3 } => [1, 2, 3]
count
配列の中で特定の要素の数を数える。引数を指定することで、それがいくつあるかを判断できる。
array1 = [1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5] array1.count(3) => 3 array2 = ["canada", "india", "india", "iran", "japan"] array2.count("india") => 2 array2.count("canada") => 1 array2.count("vietnum") => 0
any?
配列の中の要素が、最低1つでも条件を満たすか調べる。戻り値はboolean型。
array = [1,2,3] p array.any?{|a| a > 2} # 実行結果 true
all?
すべての要素が条件を満たすか調べる。戻り値はboolean型。
array1 = [1,2,3] p array.all?{|a| a > 2} # 実行結果 true array2 = [3, 3, 3] p array.all?{|a| a > 2} # 実行結果 false