Ver Mensaje Individual
  #9 (permalink)  
Antiguo 21/11/2013, 12:25
Avatar de marlanga
marlanga
 
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Recorrer un array seleccionando solo un elemento por fila

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 original
  1. var quiniela=[
  2.     [90, 8, 2],
  3.     [34, 33, 33],
  4.     [2, 49, 49],  
  5.     [2, 8, 90]
  6. ];
  7.  
  8. var combinaciones=[];
  9. function combinarTodo(indices)
  10. {
  11.     var filas=quiniela.length;
  12.     var columnas=quiniela[0].length;
  13.     if (indices.length==filas)
  14.     {
  15.         var arr=[];
  16.         for (var i=0;i<filas;i++)
  17.         {
  18.             arr.push(quiniela[i][indices[i]]);
  19.         }
  20.         combinaciones.push(arr.join("-"));
  21.         return;
  22.     }
  23.     for (var i=0;i<columnas;i++)
  24.     {
  25.         indices.push(i);
  26.         combinarTodo(indices);
  27.         indices.pop();
  28.     }
  29. }
  30.  
  31. combinarTodo([]);
  32. document.getElementById("div").innerHTML=combinaciones.join("<br/>");

Funcionando:
http://jsfiddle.net/CP9vw/