总结:
使用归并思想,此种方法适用于两个数组存在重复元素的情况。
思路:
设置两个数组指针,在相等的时候同时后移。如果不相等,谁小谁++,遍历完任何一个数组,就可以结束了。
let arr1 = [1,5,8,9],
arr2 = [4,5,1,2];
let findSame = function(arr1,arr2){
let newArr = [],
sortArr1 = arr1.sort(),
sortArr2 = arr2.sort();
let i = 0, j = 0;
while ( i < arr1.length && j < arr2.length ) {
if (arr1[i] == arr2[j]) {
newArr.push(arr1[i]);
i++;
j++;
}
else if (arr1[i] < arr2[j]) i++;
else j++;
}
return newArr;
}
console.log(findSame(arr1,arr2));
版权声明:本文为niuniu_mango原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。