Si no quieres escribir un montón de fors anidados, se puede utilizar recursividad, que es algo mas costosa de rendimiento, pero por contra es capaz de combinar cualquier array bidiomensional, sin importar el número de filas o columnas que tenga.
Código Javascript
:
Ver originalvar quiniela=[
[90, 8, 2],
[34, 33, 33],
[2, 49, 49],
[2, 8, 90]
];
var combinaciones=[];
function combinarTodo(indices)
{
var filas=quiniela.length;
var columnas=quiniela[0].length;
if (indices.length==filas)
{
var arr=[];
for (var i=0;i<filas;i++)
{
arr.push(quiniela[i][indices[i]]);
}
combinaciones.push(arr.join("-"));
return;
}
for (var i=0;i<columnas;i++)
{
indices.push(i);
combinarTodo(indices);
indices.pop();
}
}
combinarTodo([]);
document.getElementById("div").innerHTML=combinaciones.join("<br/>");
Funcionando:
http://jsfiddle.net/CP9vw/