JSFiddle - React, Tailwind, and code Playground
JavaScript
function mergeSortedArrays() {
function merge(arrayOne, arrayTwo) {
var totalLength = arrayOne.length + arrayTwo.length;
var returnArray = new Array(totalLength);
var iResult = 0;
var iOne = 0;
var iTwo = 0;
for(var i = 0; i < totalLength; ++i) {
if(iTwo < arrayTwo.length) {
if(iOne >= arrayOne.length) {
returnArray[i] = arrayTwo[iTwo++];
} else if (arrayOne[iOne].date < arrayTwo[iTwo].date) {
returnArray[i] = arrayOne[iOne++];
} else {
returnArray[i] = arrayTwo[iTwo++];
}
} else {
returnArray[i] = arrayOne[iOne++];
}
}
return returnArray;
}
var sortedArray = [];
for(var i = 0; i < arguments.length; ++i) {
sortedArray = merge(sortedArray, arguments[i]);
}
return sortedArray;
}
(function() {
var resultA = [];
var resultB = [];
var resultC = [];
var resultD = [];
for(var run=0; run<4; run++) {
var activities = [];
var year = '';
var month = '';
var day = '';
var date = '';
for(var i=0; i<1000; i++) {
day = Math.floor((Math.random()*31)+1);
month = Math.floor((Math.random()*12)+1);
year = "200" + Math.floor((Math.random()*3)+1);
date = day + "-" + month + "-" + year
activities.push({ id : i, date : date });
}
for (var index in activities)
{
if (!activities[index].date)
{
activities[index].sortable = 0;
continue;
}
var date = activities[index].date.split('-');
activities[index].sortable = 10000 * parseInt(date[2]) + 100 * parseInt(date[0]) + parseInt(date[1]);
}
activities.sort(function(a, b)
{
return a.sortable > b.sortable ? 1 : a.sortable < b.sortable ? -1 : 0;
});
var result = [];
for (var index=0; index < activities.length; index++) {
if(run == 0)...