gpt4 book ai didi

ruby - 比较两个数组忽略Ruby中的元素顺序

转载 作者:数据小太阳 更新时间:2023-10-29 06:21:38 24 4
gpt4 key购买 nike

我需要检查两个数组是否以任何顺序包含相同的数据。使用虚构的 compare 方法,我想做的是:

arr1 = [1,2,3,5,4]
arr2 = [3,4,2,1,5]
arr3 = [3,4,2,1,5,5]

arr1.compare(arr2) #true
arr1.compare(arr3) #false

我使用了 arr1.sort == arr2.sort,这似乎有效,但是有更好的方法吗?

最佳答案

最简单的方法是使用交叉点:

@array1 = [1,2,3,4,5]
@array2 = [2,3,4,5,1]

所以声明

@array2 & @array1 == @array2

将为 true。如果您想检查 array1 是否包含 array2 或相反(即不同),这是最佳解决方案。您也不会摆弄数组或更改项目的顺序。

如果您希望两个数组的大小相同,您还可以比较它们的长度:

@array1.size == @array2.size && @array1 & @array2 == @array1

这也是最快的方法(如果我错了请纠正我)

关于ruby - 比较两个数组忽略Ruby中的元素顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9095017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com