Así que quería replicar la función/operación 𝝨 en Javascript.
Para las personas que no lo conocen, aquí hay un ejemplo:
La operación que se muestra arriba se traduciría a un código Javascript como este:
var sum = 0; for (var n = 1; n <= 10; n++) { sum += n ** 2; }Ahora quería envolverlo como una función, donde la operación que debería hacer cada iteración se pasaría como una función. Entonces, el ejemplo anterior se pasaría así:
𝝨(1, 10, n => n ** 2) function 𝝨(start, end, func) { var sum = 0; for (var i = start; i <= end; i++) { sum += func(); } return sum; } Sin embargo, el ejemplo anterior devuelve NaN porque la variable pasada no usa el iterador del bucle for. ¿Hay una manera de hacer eso?
No está pasando el valor iterativo a la func de devolución de llamada:
for (var i = start; i <= end; i++) { sum += func(i); // you have to pass it in so func knows how to func }Pero, ¿por qué queremos func()? Esto también funciona bien, supongo. Da como resultado la misma respuesta 385.
function 𝝨(start, end){ let sum = 0; for (let n = start; n <= end; n++) { sum += n ** 2; } return sum; } alert(𝝨(1, 10));