Ver Mensaje Individual
  #6 (permalink)  
Antiguo 27/10/2014, 01:44
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: como realizo todas las combinaciones posibles entre elementos de arrays

No creo que sea necesario hacerlo de la manera en que la planteas. Podrías generar un bucle que itere N veces y en cada iteración, realizas cada una de las preguntas, las mismas que podrías guardar en objetos y cada uno de estos en un array general. Teniendo todos estos datos organizados de tal manera, cualquier búsqueda o muestra de datos, será mucho más sencilla.

Un ejemplo:
Código Javascript:
Ver original
  1. function encuesta(n, preg){
  2.     for (var i = 0, result = [], aux = {}; i < n; i++){
  3.         for (var j in preg) aux[j] = prompt(preg[j]);
  4.         result.push(aux);
  5.         aux = {};
  6.     }
  7.     return console.log(result);
  8. }
  9. encuesta(3, {
  10.     sexo: "Sexo (M|F):",
  11.     lugar: "Lugar:",
  12.     nivel: "Nivel (A|B|C|D):"
  13. });

Si, por ejemplo, las respuestas fueran: (M, Tacna, A), (F, Lima, C), (M, Trujillo, D), el resultado final sería así (las propiedades de los objetos se ordenan alfabéticamente de forma automática):

Código Console:
Ver original
  1. Array(
  2.     {
  3.         lugar: Tacna,
  4.         nivel: A,
  5.         sexo: M
  6.     },
  7.     {
  8.         lugar: Lima,
  9.         nivel: C,
  10.         sexo: F
  11.     },
  12.     {
  13.         lugar: Trujillo,
  14.         nivel: D,
  15.         sexo: M
  16.     },
  17. )

El proceso es simple. Envío a la función la cantidad de encuestados y las preguntas dentro de un objeto literal. En la función, creo un bucle que iterará N veces (las que haya indicado) y, en cada iteración, recorreré el objeto con las preguntas y las iré realizando una por una. Cada resultado lo guardo en otro objeto literal y finalizada la ronda de preguntas al encuestado, guardo dicho conjunto de datos en el array principal y limpio el objeto auxiliar que es en el que guardo temporalmente las respuestas de cada encuestado. Y si te fijas, tanto la cantidad de encuestados como las preguntas, pueden variar.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand