Ich habe ein mehrdimensionales Array, wie:Rubin Extract Array aus mehrdimensionales Array
arr1 = [["text1", 1], ["text2", 2], [" text3", 3], [" text4", 4], ["text5", 5], ["text6", 6], ["text7", 7]]
und eine andere
arr2 = [2,3,6]
Ich möchte gesamte Array extrahieren, wenn sie Elemente ARR2 enthält. So sollte, Ergebnis sein:
arr = [["text2", 2], [" text3", 3], ["text6", 6]].
ich viele Möglichkeiten ausprobiert haben, aber nicht in der Lage das Ergebnis zu erhalten. Versuche, wie zum Beispiel:
arr1.each { |elem| arr2.each { |x| elem.delete_if{ |u| elem.include?(x) } } }
und
arr2.map { |x| arr1.map{|key, val| val.include?(x) }}
Kann jemand bitte helfen?
Warum nicht 'arr1.select {| a | (a & arr2) .alles? } 'oder' arr1.find_all {| a | (a & arr2) .alles? } 'da du Dinge auswählst/findest anstatt eine allgemeinere Injektion/Reduktion? –
@muistooshort Auswahl ist definitiv besser als ein neues Array zu erstellen (was ich getan habe), ich werde die Antwort bearbeiten (ich habe das vorher nicht getan, weil Lösungen mit 'select' wurden bereits gegeben) .. –