Ich habe zwei Arrays, die Tausende von Elementen haben. Ich muss herausfinden, welche Elemente in einem Array fehlen, indem ich es mit einem anderen vergleiche. Gibt es eine Möglichkeit, die fehlenden Elemente zu erhalten, ohne das gesamte Array durchlaufen zu müssen? Oder gibt es etwas schneller als das, was ich mache? HierVergleichen Sie zwei Array für fehlende Elemente in Ruby
ist das, was ich jetzt benutze:
def find_missing(array1, array2)
missing_elements = []
array1.each { |e|
unless array2.include? e
missing_elements << e
end
}
return missing_elements
end
array1 = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
array2 = [1, 2, 4, 5, 6, 7, 9]
puts find_missing(array1, array2)
Schön und sauber. Vielen Dank. – MrAutoIt
@MrAutoIt Die Array-Klasse verfügt über eine Reihe dieser praktischen Methoden. Wenn Sie jemals wissen wollen, welche Werkzeuge es gibt, [überprüfen Sie die Dokumentation] (http://ruby-doc.org/core-2.3.0/Array.html), da es eine Menge Dinge zu genießen gibt. – tadman