JSFiddle - React, Tailwind, and code Playground
by jfriend00
JavaScript
function distributeWidth(len, totalWidth) {
var results = new Array(len);
var coreWidth = Math.floor(totalWidth / len);
var extraWidth = totalWidth - (coreWidth * len);
var w,s;
for (var i = 0; i < len; i++) {
w = coreWidth;
if (extraWidth > 0) {
w++;
extraWidth--;
}
if (i % 2 == 0) {
s = i/2; // even, put on front of array
} else {
s = len - ((i+1)/2); // odd, put on end of array
}
results[s] = w;
}
return(results)
}
var len = 9; // set this to desired number of elements
var fullWidth = 140; // set this to available width
var a = distributeWidth(len, fullWidth);
var output = "";
for (i = 0; i < a.length; i++) {
output += a[i] + ", ";
}
alert(output.slice(0,-2));