2010-08-20 31 views
43

İki diziyi karşılaştırmanın ve her ikisi için ortak olanı göstermenin bir yolu var mı?İki dizide ortak olanı bulma

array1 = ["pig", "dog", "cat"] 
array2 = ["dog", "cat", "pig", "horse"] 

Ben ["pig", "dog", "cat"] bu iki dizi arasında ortak olduklarını göstermek için ne yazabilirim?

cevap

102

Sen & kullanarak dizileri kesişebilir:

array1 & array2 

Bu ["pig", "dog", "cat"] dönecektir.

+0

, okuyabilir, bkz ['Set'] (http://ruby-doc.org/stdlib-2.3.3/libdoc/set/rdoc/Set.html) sınıfı. –

1

Kesişimi Ayarla. gibi hiçbir tekrarlar da iki diziler için ortak öğeleri, içeren yeni bir dizi döndürür:

["pig", "dog", "bird"] & ["dog", "cat", "pig", "horse", "horse"] 
# => ["pig", "dog"] 

Ayrıca birlik ve bölme gibi bir blog yazısı setlerinde diğer operasyonlar için yaklaşık Array coherences