Merge Sorted Arrays

Run Settings
LanguageJavaScript
Language Version
Run Command
//[[0,3,4,31], [4,6,30]] function mergeSortedArrays1(arr1, arr2){ return console.log(arr1.concat(arr2).sort((a,b) => a - b)); } function mergeSortedArrays2(arr1, arr2){ for(var i = 0; i < arr2.length; i++){ arr1.push(arr2[i]); } return console.log(arr1.sort((a,b) => a - b)); } function mergeSortedArrays3(arr1, arr2){ return console.log([...arr1,...arr2].sort((a,b) => a - b)); } function mergeSortedArrays(array1, array2){ const mergedArray = []; //We should actually move these 2 if statements to line 2 so that we do the checks before we do assignments in line 3 and 4! if(array1.length === 0) { return array2; } if(array2.length === 0) { return array1; } let array1Item = array1[0]; let array2Item = array2[0]; let i = 1; let j = 1; while(array1Item || array2Item){ if(!array2Item || array1Item < array2Item){ mergedArray.push(array1Item); array1Item = array1[i]; i++; } else { mergedArray.push(array2Item); array2Item = array2[j]; j++; } } return console.log(mergedArray); } //mergeSortedArrays([0,3,4,31], [0,4,6,30]); const arr1 = [0, 3, 4, 31]; const arr2 = [0, 4, 6, 30, 33, 40]; const merge = (arr1, arr2) => { if(arr1.length < 1){ return arr2; } if(arr2.length < 1){ return arr1; } const arr = []; let i = 0; let j = 0; while(arr1[i] != undefined || arr2[j] != undefined){ if(arr2[j] == undefined || (arr1[i] != undefined && arr1[i] < arr2[j])){ arr.push(arr1[i]); i++; } else { arr.push(arr2[j]); j++; } } return console.log(arr); } merge(arr1, arr2); //[0,3,4,31], [4, 6, 30]
Editor Settings
Theme
Key bindings
Full width
Lines