2016-09-29 25 views
1

我有一個數組A看起來像這樣選擇從多個單元以陣列元件:如何在另一個陣列

A = [ { "id" => "1234",  "name" => "audi",  "isCool" => false }, 
     { "id" => "5678",  "name" => "acura",  "isCool" => false }, 
     { "id" => "9101112", "name" => "bentley", "isCool" => true }, 
     { "id" => "13141516", "name" => "rollsroyce", "isCool" => true }, 
     { "id" => "17181920", "name" => "toyota",  "isCool" => true } ] 

和我有一個數組B看起來像這樣:

B = ["1234", "13141516」] 

我試圖從數組A中選擇與數組A的ID與數組B的元素匹配的元素。

,返回的結果,我想的是:

C = [ { "id" => "1234",  "name" => "audi",  "isCool" => false }, 
     { "id" => "13141516", "name" => "rollsroyce", "isCool" => true } ] 

有沒有一種簡單的方法來進行此事?

我目前已經試過這個,但顯然不是一個好主意:

a.select {|x| x['id'] == B.first || B.last} 

但顯然這不是動態的,因爲如果我在陣列B 3個或4個元素是什麼。

回答

4
A.select { |x| B.include?(x['id']) } 
+0

啊那很聰明啊。有效。謝謝 – adbarads