处理两个已经排好序的数组,返回一个排好序的数组!
思路:利用两个数组已经排序好的特点!顺序比较两个数组的元素,记录下下标。比较出结果了,存入新数组,并且将他对应的下标加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)