JSFiddle - React, Tailwind, and code Playground
by ronilan
HTML
// merge/sort array
JavaScript
// merge and sort
function mergeSortArrays(arrayA, arrayB) {
var result,
func = null;
if (typeof arrayA[0] === "number") {
func = function (a, b) {
return a - b
};
}
result = arrayA.concat(arrayB).sort(func);
return result;
}
// assumes sorted. does not uae sort();
function mergeArrays(arrayA, arrayB) {
var result = [],
i = 0,
j = 0,
k = 0;
while (k < arrayA.length + arrayB.length) {
if (typeof arrayA[i] === "undefined") {
result = result.concat(arrayB.slice(j, arrayB.length));
break;
} else if (typeof arrayB[j] === "undefined") {
result = result.concat(arrayA.slice(i, arrayA.length));
break;
} else if (arrayA[i] <= arrayB[j]) {
result.push(arrayA[i]);
i++;
} else {
result.push(arrayB[j]);
j++;
}
k++;
}
return result;
}
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18];
b = [1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 14];
console.log(mergeSortArrays(a, b));
console.log(mergeArrays(a, b));
a = [1, 2, 3];
b = [1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 14];
console.log(mergeSortArrays(a, b));
console.log(mergeArrays(a, b));
a = ["a", "b", "c", "h", "i", "j"];
b = ["b", "d", "f", "h", "x", "y", "z"];
console.log(mergeSortArrays(a, b));
console.log(mergeArrays(a, b));
a = ["a", "b"];
b = ["b", "d", "f", "h", "x", "y", "z"];
console.log(mergeSortArrays(a, b));
console.log(mergeArrays(a, b));