2010-08-20 5 views
43

Gibt es eine Möglichkeit, zwei Arrays zu vergleichen und zu zeigen, was beiden gemeinsam ist?Suchen, was zwei Arrays gemeinsam ist

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

Was Typ I zu zeigen, dass ["pig", "dog", "cat"] gemeinsam sind zwischen diesen beiden Arrays?

Antwort

102

Sie können die Arrays schneiden & mit:

array1 & array2 

Diese ["pig", "dog", "cat"] zurück.

+0

Für andere Operationen an Sätzen, wie Union und Division finden Sie im ['Set'] (http://ruby-doc.org/stdlib-2.3.3/libdoc/set/rdoc/Set.html) Klasse. –

1

Schnittpunkt festlegen. Gibt ein neues Array-Elemente gemeinsam mit den beiden Arrays enthalten, ohne Duplikate, wie:

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

Sie können auch einen Blog-Post lesen über Array coherences