Solo haciendo una pequeña tarea. Necesito iterar a 100, pero también console.log el resultado de cada ejemplo anterior.
Ejemplo de la serie: (1)+(1+2)+(1+2+3)+…+(1+2+3+…+n)<=100
Iteracion1=1 Iteracion2= 1+2 = 3 iteracion 3: 1+2+3 = 6 iteracion 4: 1+2+3+4 = 10Tengo esto:
for (i = 0; i <= 100; i++) { if(i < 100) { console.log(`${i}+${1}`); }};Pero no sé cómo agregar la suma en cada iteración. Si tienes alguna referencia para esto, ¡sería genial! gracias.
Puede lograr el resultado de efficiently utilizando un solo bucle.
Para fines de demostración, he impreso hasta 20 . Puede agregar cualquier número de su elección.
let lastTotal = 0; let lastStr = ""; for (let i = 1; i <= 10; ++i) { const total = (lastTotal ?? 0) + i; const str = lastStr ? lastStr + " + " + i : i; console.log(`Iteration ${i}: ${str}${total === 1 ? "" : " = " + total}`); lastTotal = total; lastStr = str; } /* This is not a part of answer. It is just to give the output fill height. So IGNORE IT */ .as-console-wrapper { max-height: 100% !important; top: 0; }Esto debería funcionar bien.
Creé una nueva matriz para la duración de la iteración de i y uso Array#reduce para resumir todo en un número.
const max = 10; for (let i = 1; i <= max; i++) { const arr = new Array(i).fill().map((_, i) => i + 1); console.log(`Iteration ${i}: ${arr.join('+')} = ${arr.reduce((acc, b) => acc + b, 0)}`); }Puede usar variables fuera de for para lograr esto
let sum = 0; const previousSums = []; for (i = 0; i < 100; i++) { previousSums.push(sum); sum += i; console.log(`${previousSums}`); }