Hola:
Añado otras pruebas (intentando respetar las anteriores):
Código:
ejecutarPrueba("Con sort() de valores lógicos, tomando el primero", function() {
return condiciones.sort()[0];
}
);
ejecutarPrueba("Con una cadena, concatenando un asterisco por cada false", function() {
for(var i = 0, elementos = condiciones.length, str = ""; i < elementos; str += (condiciones[i]) ? "": "*", i++)
return str != "";
}
);
ejecutarPrueba("Creando un array con cadenas de 0 y 1 caracter, según condición", function() {
for(var i = 0, elementos = condiciones.length, str = new Array(); i < elementos; str[i] = (condiciones[i]) ? "" : "*", i++)
return str.join("") != "";
}
);
Los resultados (junto a los que devuelve mi máquina con las otras pruebas):
Código:
Según Con bucle y devolviendo false si hay false el resultado es false y ha tardado en sacarlo 0 ms.
Según Con indexOf y mirando si existe "false" el resultado es true y ha tardado en sacarlo 265 ms.
Según Con bucle y haciendo valorAcumulado = valorAcumulado && actual el resultado es false y ha tardado en sacarlo 0 ms.
Según Con sort() de valores lógicos, tomando el primero el resultado es false y ha tardado en sacarlo 735 ms.
Según Con una cadena, concatenando un asterisco por cada false el resultado es false y ha tardado en sacarlo 0 ms.
Según Creando un array con cadenas de 0 y 1 caracter, según condición el resultado es false y ha tardado en sacarlo 0 ms.
Intentando interpretar los resultados, vemos que la primitiva sort() de los arrays es lo que más tarda, ya que devolver luego el primer elemento es trivial... y lo que me ha gustado es que creando un array de cadenas ("" y "*") es también de lo más rápido...
Saludos