javascript - 如何在 JavaScript 中创建执行 Sigma 符号计算的函数?

标签 javascript

我正在尝试创建一个在 JavaScript 中执行 Sigma 符号计算的函数。 (如果你不知道 Sigma 表示法,那么我在下面尝试做的事情就会很清楚。)我的目标是制作一个可以像 Sigma 表示法一样容易编写的函数,并返回 Sigma 表示法计算的解决方案.理想情况下,我希望调用该函数时只需提供起始值、结束值以及要对数字集中的每个数字执行的计算,然后再将它们作为参数求和。

例如,

thisIsMySigmaNotationFunction(1, 4, 2i+1)

会返回:

(2(1)+1) + (2(2)+1) + (2(3)+1) + (2(4)+1) = 24

这是我到目前为止创建的代码,它可以工作,但我必须创建一个单独的函数来用作 2i+1 参数。我想知道是否有办法避免这种情况并像上面那样调用函数,因为 2i+1 将来可能需要更改为 i/(i+1) 或其他计算并且不必创建会很棒每次作为参数插入的单独函数。

function sigmaCalculation(start, end, whatToSum){
    var sum = 0;

    for (var i = start; i <= end; i++){
        sum += whatToSum(i);
    };

    console.log(sum);
}

function calculationToSum(this1){
    return 2*this1+1;
}

最佳答案

如果有帮助的话,你不需要在每次调用时都创建命名函数,你可以使用匿名函数:

sigmaCalculation(1, 4, function(x) { return 2 * x + 1; });

这可以非常紧凑。

现在如果你想执行 i/(i+1),你只需将调用更改为:

sigmaCalculation(1, 4, function(x) { return x / (x + 1); });

关于javascript - 如何在 JavaScript 中创建执行 Sigma 符号计算的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22079340/

相关文章:

javascript - 尝试通过 JavaScript 在 HTML 页面上显示段落

javascript - 如何返回使用 Google Sheets API spreadsheets.values.get 读取的值?

javascript - 在 Nodewekit 中运行 Hapi.js

javascript - CSS3 transform rotate using mouse position - 第二阶段

javascript - 如何在 JavaScript 中使月份、日期和日期动态化为当前日期?

javascript - 如果 URL 有 "just one HTML line",jQuery.load() 为什么可以跨域工作?

javascript - 通过 json 子数组过滤

aes - CryptoJS 和 Java 代码的不同输出加密

javascript - 如何使用纯 ecmascript 且浏览器不支持 h.264 从 MP4 URL 获取视频高度和宽度?

javascript - 如何将 CSV 数据转换为 JSON 数据?