Esta función para etiquetar dentro de un rango usando un bucle for no ejecutará la lógica dentro del bucle for en absoluto. Anteriormente, estaba definiendo los argumentos para el bucle for de forma más dinámica, utilizando la indexación, y consumía toda mi memoria ejecutando un bucle de varios millones de longitud. Completamente inseguro de cómo este bucle no se está ejecutando.
selectMonth(newMonth: number) { console.log(newMonth); const NMH: number[] = [ 744, 1416, 2160, 2800, 3624, 4344, 5088, 5832, 6552, 7296, 8016]; const WH: number = 168; let labelValue: Label[] = ['Sunday']; // let i = NMH[newMonth]; let WC = 0; let loopSize = NMH[newMonth + 1] - NMH[newMonth]; console.log(" loopSize" , loopSize); let i = 0; console.log("i right before" , i, i < loopSize) for(i; i++; i < loopSize) { console.log("inside loop" , i) } console.log(labelValue); }Simplemente intercambie la declaración condicional i < loopSize y el paso i++ .
selectMonth(newMonth: number) { console.log(newMonth); const NMH: number[] = [ 744, 1416, 2160, 2800, 3624, 4344, 5088, 5832, 6552, 7296, 8016]; const WH: number = 168; let labelValue: Label[] = ['Sunday']; // let i = NMH[newMonth]; let WC = 0; let loopSize = NMH[newMonth + 1] - NMH[newMonth]; console.log(" loopSize" , loopSize); let i = 0; console.log("i right before" , i, i < loopSize) for(i; i < loopSize;i++) { console.log("inside loop" , i) } console.log(labelValue); }Me acabo de dar cuenta de que los argumentos están invertidos. El ciclo for debe iniciarse con:
for(i; i++; i < loopSize) {Hay algunas preguntas tontas jaja