8
votes

Supprimer des éléments de tableau par certains critères

Quel est le meilleur et le moyen de faire ceci: J'ai deux tableaux: xxx

et b = ["deux '," trois "]

je veux supprimer des tableaux imbriqués à l'intérieur < Code> A qui inclut des éléments dans B , pour obtenir ceci: xxx

merci.


0 commentaires

3 Réponses :


2
votes
a=[['a','one'],['b','two'],['c','three'],['d','four']]
b=['two','three']    
result=a.reject { |e| b.include?(e.first) or b.include?(e.last) }
# result => [["a", "one"], ["d", "four"]]

0 commentaires

18
votes
a = [['a','one'],['b','two'],['c','three'],['d','four']]
b = ['two','three']

a.delete_if { |x| b.include?(x.last) }

p a
# => [["a", "one"], ["d", "four"]]

0 commentaires

5
votes

Rassoc à la rescousse!

 b.each {|el| a.delete(a.rassoc(el)) }


1 commentaires

WOW - Ruby a une méthode pour tout - funky!