◆重複削除前の内容 インデックス:0 => 値:1 インデックス:1 => 値:1 インデックス:2 => 値:3 インデックス:3 => 値:3 インデックス:4 => 値:2 インデックス:5 => 値:5 インデックス:6 => 値:4 インデックス:7 => 値:1 インデックス:8 => 値:3 ◆重複削除前の内容 インデックス:0 => 値:1 インデックス:1 => 値:3 インデックス:2 => 値:2 インデックス:3 => 値:5 インデックス:4 => 値:4
配列の重複した要素を削除する方法
スポンサーリンク
配列内に重複した値を持つ要素がある場合、 Ruby では uniq メソッドを使用すれば重複した要素を削除することができます。
重複を削除した配列を別の配列として取得する方法(uniq)
ruby(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | ary1 = [1, 1, 3, 3, 2, 5, 4, 1, 3] puts "◆重複削除前の内容" ary1.each_with_index{|value, index| puts "インデックス:#{index} => 値:#{value}" } # 重複を削除 ary2 = ary1.uniq puts "◆重複削除前の内容" ary2.each_with_index{|value, index| puts "インデックス:#{index} => 値:#{value}" } |
上記の実行結果は次の通りです。
配列から重複した要素を直接削除する方法(uniq!)
uniq メソッドは uniq! として呼び出すことで、メソッドを呼び出した配列から重複した要素を削除します。
ruby(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | ary = [1, 1, 3, 3, 2, 5, 4, 1, 3] puts "◆重複削除前の内容" ary.each_with_index{|value, index| puts "インデックス:#{index} => 値:#{value}" } # 重複を削除 ary.uniq! puts "◆重複削除前の内容" ary.each_with_index{|value, index| puts "インデックス:#{index} => 値:#{value}" } |
上記の実行結果は次の通りです。
◆重複削除前の内容 インデックス:0 => 値:1 インデックス:1 => 値:1 インデックス:2 => 値:3 インデックス:3 => 値:3 インデックス:4 => 値:2 インデックス:5 => 値:5 インデックス:6 => 値:4 インデックス:7 => 値:1 インデックス:8 => 値:3 ◆重複削除前の内容 インデックス:0 => 値:1 インデックス:1 => 値:3 インデックス:2 => 値:2 インデックス:3 => 値:5 インデックス:4 => 値:4
スポンサーリンク