2016-08-19 157 views
0

是否有一種簡單的方法來遍歷2個數組,並找到兩個數組中完全相同的元素值並將其填充到新數組中?如何找到與兩個陣列匹配的所有數組元素

例如:

arr_a = ["a","b","c","d"] 

arr_b = ["123","456","b","d","c"] 

我想創建數組將是:

new_arr = ["b","c","d"] 

我嘗試這樣做:

another_arr = [*arr_a, *arr_b] #combines the 2 arrays 
another_arr.select { |e| another_arr.count(e) >1 }.uniq #then find all dupes 

,但我不知道怎麼推結果到一個數組。

這是正確的方法嗎?有什麼想法如何將結果推送到數組?

回答

5

你所試圖做的是一個交集,這可以在Ruby中使用&操作來實現。

arr_a = ["a","b","c","d"] 

arr_b = ["123","456","b","d","c"] 

new_array = arr_a & arr_b 

瞭解更多關於「ary & other_ary」的內容。

1

您正在尋找兩組相交。這是簡單的方式:

arr_a & arr_b 
相關問題