如何找到与两个阵列匹配的所有数组元素
问题描述:
是否有一种简单的方法来遍历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
,但我不知道怎么推结果到一个数组。
这是正确的方法吗?有什么想法如何将结果推送到数组?
答
你所试图做的是一个交集,这可以在Ruby中使用&
操作来实现。
arr_a = ["a","b","c","d"]
arr_b = ["123","456","b","d","c"]
new_array = arr_a & arr_b
了解更多关于“ary & other_ary”的内容。
答
您正在寻找两组相交。这是简单的方式:
arr_a & arr_b