JSFiddle - React, Tailwind, and code Playground
HTML
<div id="output"></div>
JavaScript
var maxes = [3, 1, 2, 1];
var myArray = [0, 0, 0, 0];
var pos = 0;
while (pos < myArray.length - 1 || myArray[pos] < maxes[pos]) {
if (myArray[pos] >= maxes[pos]) {
myArray[pos] = 0;
pos++;
continue;
}
myArray[pos]++;
document.getElementById('output').innerHTML += myArray.toString() + "<br>";
}