2016-08-19 158 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 
相关问题