JSFiddle - React, Tailwind, and code Playground

JavaScript

var len = 4;
var end = 3;
var data = [];

var loop = function (index) {
  if (index === end) {
    document.body.innerHTML += "<br/>" + data;
    return;
  }
    
  var start = (index === 0 ? 0 : data[index-1] + 1);   
    
  for (var i = start; i < len; i++) {
    data[index] = i;
    loop(index + 1);
  }
}

loop(0);