处理两个已经排好序的数组,返回一个排好序的数组!
思路:利用两个数组已经排序好的特点!顺序比较两个数组的元素,记录下下标。比较出结果了,存入新数组,并且将他对应的下标加1。直到两个数组的元素都比完
示例:var arr1 = [1,3,6,8,15];
var arr2 = [4,5,11,14,25];
返回:[1,3,4,5,6,8,11,14,15,25]
function fn(arr1, arr2) { let a = [], arr1Index = 0, arr2Index = 0; while (arr1Index < arr1.length || arr2Index < arr2.length) { if (arr1Index >= arr1.length) { a.push(...arr2.slice(arr2Index)); break; } if (arr2Index >= arr2.length) { a.push(...arr1.slice(arr1Index)); break; } if (arr1[arr1Index] < arr2[arr2Index]) { a.push(arr1[arr1Index++]); } else { a.push(arr2[arr2Index++]); }} return a;};另一个方法
arr1.concat(arr2).sort((arr1,arr2)=>arr1-arr2)