我有两个数组
a = [1, 2, 3, 4, 5] b = [2, 4, 6]
我想合并两个数组,然后删除与其他数组相同的值。结果应该是:
c = [1, 3, 5, 6]
我试过将两个数组相减,结果是[1,3,5]。我还想从第二个数组中获取值,该数组与第一个数组没有重复。
ycggw6v21#
使用Array#uniq。
Array#uniq
a = [1, 3, 5, 6] b = [2, 3, 4, 5] c = (a + b).uniq => [1, 3, 5, 6, 2, 4]
gk7wooem2#
您可以执行以下操作!
# Merging c = a + b => [1, 2, 3, 4, 5, 2, 4, 6] # Removing the value of other array # (a & b) is getting the common element from these two arrays c - (a & b) => [1, 3, 5, 6]
德米特里的评论也是一样的,虽然我想出了我的想法独立。
jbose2ul3#
|
合并但不复制值
a | b # => [1, 2, 3, 4, 5, 6]
仅获取重复值
a & b # => [2, 4]
合并并删除重复的值。这意味着获取所有唯一值并减去所有重复值。
(a | b) - (a & b) # => [1, 3, 5, 6]
Ruby文档
j13ufse24#
不如这样吧
(a | b) => [1, 2, 3, 4, 5, 6] (a & b) => [2, 4] (a | b) - (a & b) [1, 3, 5, 6]
|方法文档&方法文档
&
utugiqy65#
我们有两个数组
p = [1, 2, 5, 4, 8, 9] q = [5, 6, 4, 8, 5, 3] (p+q).uniq or (p.concat(q)).uniq => [1, 2, 5, 4, 8, 9, 6, 3]
p|q也可以完成这项工作!决定哪一个适合你。根据上述要求(p | q) - (p & q)可以完成这项工作。
p|q
(p | q) - (p & q)
smdncfj36#
可能有点明显,但是如果你想把一个数组中的一堆数组组合起来,你可以这样做:[[1 2],[2],[3]].求和唯一性=〉[1,2,3]
4nkexdtk7#
Set.new([1,2,3]+[1,4,5])怎么样?它返回[1,2,3,4,5]
Set.new([1,2,3]+[1,4,5])
[1,2,3,4,5]
7条答案
按热度按时间ycggw6v21#
使用
Array#uniq
。gk7wooem2#
您可以执行以下操作!
德米特里的评论也是一样的,虽然我想出了我的想法独立。
jbose2ul3#
使用
|
合并但不复制值
仅获取重复值
合并并删除重复的值。这意味着获取所有唯一值并减去所有重复值。
Ruby文档
j13ufse24#
不如这样吧
|
方法文档&
方法文档utugiqy65#
我们有两个数组
p|q
也可以完成这项工作!决定哪一个适合你。根据上述要求
(p | q) - (p & q)
可以完成这项工作。smdncfj36#
可能有点明显,但是如果你想把一个数组中的一堆数组组合起来,你可以这样做:
[[1 2],[2],[3]].求和唯一性=〉[1,2,3]
4nkexdtk7#
Set.new([1,2,3]+[1,4,5])
怎么样?它返回[1,2,3,4,5]