JSFiddle - React, Tailwind, and code Playground

Combinations of Arrays

by skibulk

JavaScript

function combinations(...arrays) {
	if (arrays[2]) {
		arrays[1] = combinations.apply(null, arrays.splice(1));
	}
	var i, j, out = [];
	for (i = 0; i < arrays[0].length; i++) {
		for (j = 0; j < arrays[1].length; j++) {
			out.push([arrays[0][i]].concat([arrays[1][j]]));
		}
	}
	return out;
}

console.log(combinations([1,2,3], ["a", "b", "c"], ["i", "ii", "iii"]));
console.log(combinations([[1,2]], ["a", "b"]));
console.log(combinations([1,2], [["a", "b"]]));
console.log(combinations([[1, 2]], [["a", "b"]]));