Me pregunto cómo indexOf e includes el trabajo en segundo plano.
Funcionan como bucles que verifican toda la matriz si un elemento está en qué índice o si existe. ¿Están realmente en bucle en segundo plano?
Además, si alguien pudiera proporcionar recursos sobre temas como este, sería genial. Intenté buscar en Google y en las publicaciones existentes aquí, pero fue en vano. Mis términos de búsqueda podrían no ser buenos.
Estoy tratando de hacer una prueba de comparación y casi siempre, includes es más rápido al identificar si hay una celda en blanco.
El problema es esta diferencia en el tiempo que muestra un número negativo al azar.
function myFunction() { array = [1, 2, 3, "", 5]; var t0 = new Date().getMilliseconds(); j=0 while(j<10000000) { x = array.indexOf("") > -1; j++; } var t1 = new Date().getMilliseconds(); console.log(`Call to indexOf took ${t1 - t0} milliseconds.`); i=0; var t2 = new Date().getMilliseconds(); while(i<10000000) { y = array.includes("") i++; } var t3 = new Date().getMilliseconds(); console.log(`Call to includes took ${t3 - t2} milliseconds.`); }Probado en el script de aplicaciones de Google
getMilliseconds son los milisegundos en el momento actual. No es el total de milisegundos.
Time 1: 1 minute 300 milliseconds Time 2: 2 minutes 100 milliseconds 100 - 300 = -200Quieres usar algo como performance.now
const t1 = performance.now(); // some process const t2 = performance.now(); console.log(t2-t1);o simplemente restando dos fechas
const t1 = Date.now() // some process const t2 = Date.now(); console.log(t2-t1);