Obtiene subarrays de un array, los elementos los toma aleatoriamente
var options = ["P1_1", "P1_2", "P1_3", "P1_4", "P1_5", "P1_6", "P1_7", "P1_8", "P1_9", "P1_10", "P1_11", "P1_12"];
var superArray = spliteArrayRan(options, 5);
console.log(superArray);
// parte el array en subarrays de tamaño len, los elementos los toma de manera aleatoria.
// Retorna un array que contiene los arrays partidos.
function spliteArrayRan(array, len) {
var superArray = [];
for(var i=0; array.length>0; i++) {
var subarray = extractSubArrayRan(array, 5);
superArray[i] = subarray;
}
return superArray;
}
// obtiene un subarray de tamaño len del array, si no hay elementos suficientes obtiene
// los elementos existentes.
// array es modificado dentro de la función
function extractSubArrayRan(array, len) {
// hay elementos suficientes para la extracción
var subarray = [];
var length = array.length>=len?len:array.length;
for(var i=0; i<length; i++) {
var idx = Math.floor(Math.random()*array.length);
subarray[i] = array[idx]; // P1_3
array.splice(idx, 1); // removes P1_3
}
return subarray;
}