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 originalfunction encuesta(n, preg){
for (var i = 0, result = [], aux = {}; i < n; i++){
for (var j in preg) aux[j] = prompt(preg[j]);
result.push(aux);
aux = {};
}
return console.log(result);
}
encuesta(3, {
sexo: "Sexo (M|F):",
lugar: "Lugar:",
nivel: "Nivel (A|B|C|D):"
});
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 originalArray(
{
lugar: Tacna,
nivel: A,
sexo: M
},
{
lugar: Lima,
nivel: C,
sexo: F
},
{
lugar: Trujillo,
nivel: D,
sexo: M
},
)
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