JSFiddle - React, Tailwind, and code Playground
HTML
<div id="outputa">
</div>
<div id="outputb">
</div>
<div id="outputc">
</div>
JavaScript
var outputa = document.getElementById("outputa");
var outputb = document.getElementById("outputb");
var outputc = document.getElementById("outputc");
var input_array = [];
var generated_count = 20;
var i;
for (i = 0; i < generated_count; i++) {
input_array.push(Math.floor(Math.random() * 100));
}
function splitarray(input) {
input.sort();
var output = [[],[]];
var running_totals = [0,0];
var input_count = input.length;
var output_count = input_count / 2;
for (var k = input_count - 1; k >= 0; k--) {
// if either array is full, put it in the other
if (output[0].length >= output_count) {
output[1].push(input[k]);
running_totals[1] += input[k];
}
else if (output[1].length >= output_count) {
output[0].push(input[k]);
running_totals[0] += input[k];
}
else if (running_totals[0] < running_totals[1]) {
output[0].push(input[k]);
running_totals[0] += input[k];
}
else {
output[1].push(input[k]);
running_totals[1] += input[k];
}
}
outputc.innerHTML = running_totals;
return output;
}
var result = splitarray(input_array);
outputa.innerHTML = result[0];
outputb.innerHTML = result[1];