【发布时间】:2015-09-21 15:19:43
【问题描述】:
假设我有两个由哈希组成的数组,结构类似:
array = [{:name => "John",
:surname => "Smith",
:family => {:mom => "Cathy",
:father => "Joe"}
},{:name => "Kevin",
:surname => "Smith",
:family => {:mom => "Jessica",
:father => "Bob"}
}]
如果两个数组都有大约 10000 个元素/人(哈希),那么比较这样的两个数组的最佳和最快方法是什么?
第二个数组中的哈希值可能与第一个数组的顺序不同,但如果元素相同,则数组相等。 此外,比较应该能够定位差异(如果有的话),不仅表明它们不相等。
【问题讨论】:
-
第一部分可以很容易地处理,正如下面的基本答案所指出的那样。第二部分非常复杂,因为您尚未定义应归类为差异的内容。如果名称相同但家庭不同,则这是不同的,但是您要显示什么。您希望展示什么样的差异以及如何展示?更好地了解您如何处理这些信息将非常有益