我想比较两个巨大的数组,我会分批次读取这两个数组(每次从每个数组中获取10个对象)。在完全读取这两个数组之后,我想得到以下数据(两个巨大数组之间的交集 - 仅存在于第一个数组中的对象 - 仅存在于第二个数组中的对象)。最佳实践是什么?
小规模示例: let arr1 = [obj1,obj2,obj3,obj4,obj5,obj6,obj7]; let arr2 = [obj7,obj2,obj5,obj1,obj9,obj8];
然后我会分批次读取这两个数组(每次读取两个元素):
第一轮循环
-> obj2是相同的
-> obj1仅存在于arr1中
-> obj7仅存在于arr2中
问题在于,直到我完成对整个数组的循环以获得正确的结果之前,这并不是最终结果,即:
共同对象是obj1、obj2、obj5、obj7
仅存在于arr1中的对象是obj3、obj4、obj6
仅存在于arr2中的对象是obj8、obj9
注意:我必须分批次读取数组,因为它们太大了。
小规模示例: let arr1 = [obj1,obj2,obj3,obj4,obj5,obj6,obj7]; let arr2 = [obj7,obj2,obj5,obj1,obj9,obj8];
然后我会分批次读取这两个数组(每次读取两个元素):
第一轮循环
-> obj2是相同的
-> obj1仅存在于arr1中
-> obj7仅存在于arr2中
问题在于,直到我完成对整个数组的循环以获得正确的结果之前,这并不是最终结果,即:
共同对象是obj1、obj2、obj5、obj7
仅存在于arr1中的对象是obj3、obj4、obj6
仅存在于arr2中的对象是obj8、obj9
注意:我必须分批次读取数组,因为它们太大了。