Hola.
Propongo un concursillo, quien gane se llevará una cervecilla
. Consiste en lo siguiente:
Dado un array de
n elementos de tipos no necesariamente iguales, mediante una función
f() devolver un elemento aleatorio de ese array. En sucesivas llamadas a esta función se deberá devolver también elementos aleatorios de este array, sin poderse devolver los mismos elementos. Es decir, una vez devuelto un elemento, ya no lo podremos obtener otra vez. Cuando no queden elementos que no hayan sido devueltos, la función debe devolver un
false.
Se trata de resolver el ejercicio lo más eficientemente posible (que yo ya sé resolverlo a lo bestia
). Quien consiga en menos milisegundos devolver todos los elementos (hasta que se devuelva false) se lleva la birra
Dejo un array de base para que podamos trabajar todos sobre lo mismo (he hecho un popurrí de elementos...):
Código PHP:
var miArray = ['flgo', 20, 'pgre', 22, 13, 8, 16, 'frkiysoj', 9, Infinity, 11, 14, true, 'bstuhcv', 'bhatnck', 7, 17, 'nusfgcvd', 19, 21, 'gmwp', 'incauo', 'hqu', { color: "rojo", forma: "cuadrado" }, 'kficoprn', 'qofxpdsn', 'ugdoebq', 'kxmhs', 3, 'bfce', 'neduh', 15, 'ueifchsj', 'kgdmj', 'ojk', 'vfqoyhli', 'buno', 18, 'nrkmf', 12, 6, 23, 'hnvroupj', 'gkdtnhq', document.body, 10, 'qghsfpdr', 24, 1, window.screen, undefined, null, 0, 'ewgmq', NaN, 4, function () { }, 2, 5, window.onload, void(0), -Infinity];
No sé si será demasiado corto, creo que sí... bueno si nos vemos en dificultades para testear probaremos en ordenadores lentos o aumentaremos el array
¿Quién se apunta?