JSFiddle - React, Tailwind, and code Playground

JavaScript

var params = [];

var param1 = ['A', 'B', 'C'];
var param2 = ['E', 'F'];
var param3 = ['G', 'H', 'I'];

params.push(param1);
params.push(param2);
params.push(param3);

function r(ps, s) {
	console.log(ps.length + " " + s.length);
	if (ps.length == 0) {
		console.log(s);
		return;
	}
	var p = ps[0];
	for (idx in p) {
		s.push(p[idx]);
    	console.log("Before call " + s);
        r(ps.slice(1), s);
	}
}

var sol = [];
r(params, sol);