[Ruby]配列(array)に重複があるかチェックするには?

Ruby

どうも、ちょげ(@chogetarou)です。

配列(array)に重複する要素があるかどうかチェックする方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

配列(array)に重複する要素があるかどうかチェックするには、uniqメソッドを使います。

まず、配列からuniqメソッドを呼び出します。

uniqメソッドからlengthメソッドを呼び出します。

そして、uniqメソッドから呼び出したlengthメソッドと配列から呼び出したlengthメソッドを比較します。

#arr=対象の配列
arr.uniq.length != arr.length

上記の2つのlengthメソッドの戻り値が同じならば、重複はないです。

上記の2つのlengthメソッドの戻り値が違うならば、重複はあります。

使用例

numbers = [1, 1, 2, 2, 2, 3, 3,  4, 5, 5]

if numbers.uniq.length != numbers.length
    puts "重複があります"
else 
    puts "重複はないです"
end
出力:
重複があります

コメント

タイトルとURLをコピーしました