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)...