重複削除
配列の特定のデータを削除する
array.delete_if {|data| data.name == 'admin'}
配列をカンマ区切りのstringにする
配列の中を検索する (1件)
user = users.find { |user| user[:id] == target_id }
配列の中を検索する(複数件)
user = users.select { |user| user[:id] == target_id }
配列のindexを取得する (引数に指定したデータのindexの取得)
配列同士の検索
配列同士の結合
merge_array = array1.concat(array2)
配列を特定の条件で配列を区切る
# 日付毎に区切る(配列と言うよりはActiveRecordを使っている)
@tasks = @tasks.to_a.group_by{ |task| task.start_at.to_date.to_s }
index込みで配列を回す
array.each_with_index { |hoge, index| }
ハッシュを配列に変換する
{ hoge: 1, fuga: 2 }.to_a
sortする
array = [3,2,1]
array = array.sort do |a,b|
a <=> b
end
puts array
=> [1, 2, 3]
複合sort
array = array.sort_by do |t|
[t.no, t.created_at]
end
配列の値を合計する
配列の値を合計する(Railsの場合)
array.sum
array.sum { |data| data.num }
mapなどで回している対象のメソッドの実行例
配列からランダムに値を取り出す
array = [1,2,3,4,5,6,7]
array.sample(5) # 5個取り出す
=> [7, 2, 3, 5, 4]
array.sample(10) # 10個取り出す 足りなければ最大数返す
=> [2, 1, 7, 4, 3, 6, 5]
Ruby2.5から追加 append/prepend
array = [1,2,3]
array.append 4
array #=> [1,2,3,4]
array.prepend 0
array #=> [0,1,2,3]
[参考]