2011-02-02 5 views
6

:私はbの要素が含まれa内部にネストされた配列を削除したい削除配列要素最高とこれを行う方法は何

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

b=['two','three']

:私は2つの配列を持っている これを取得する:

[['a','one']['d','four'] 

ありがとうございました。救助へ

答えて

14
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"]] 
2
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"]] 
5

rassoc!

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

Wow - Rubyにはすべての方法があります - ファンキー! –

関連する問題