为什么我在 Javascript 中的 for 循环没有改变变量数量?

乔斯林

我制作了一个 Javascript 代码,它应该在一个数组中取两个数字,从低到高排列它们,然后返回它们之间和包括它们的每个数字的总和。所以 sumAll(1, 4) // 返回 1 + 2 + 3 + 4 的总和,即 10。但是,当我这样做时,我的变量 total 不会在 for 循环中从 0 改变。

var sumAll = function(arr) {
   var lower = Math.min(arr[0], arr[1]);
   var upper = Math.max(arr[0], arr[1]);

   var total = 0;

   for (var i = lower; i <= upper; i++) {
    total += i;
    }
return total;
}

这段代码在使用 1 和 4 时应该返回 10,但它给出 0,因为 var total = 0。当我手动将 var total 更改为等于 10 时,它变为 10,这意味着我的 for 循环没有按照它应该的方式工作,我不知道为什么。非常感谢任何帮助,我对编码非常陌生,并且已经为此工作了一段时间。

此外,这是一个 TDD 项目,因此它附加到规范 js 文件。所以这段代码的唯一其他部分实际上不是我调用数组而是

module.exports = sumAll

规范文件要求:

var sumAll = require('./sumAll')
describe('sumAll', function() {
  it('sums numbers within the range', function() {
expect(sumAll(1, 4)).toEqual(10);
  });
怪物

您问题中的代码运行良好,但是,如果您仍有问题,可以尝试以下操作:

function sumAll(n1, n2) {
  var numbers = [];
  numbers.length = Math.abs(n2-n1)+1; numbers.fill(0);
  numbers = numbers.map((i, j) => (Math.min(n1,n2)+j))
  return numbers.reduce((acc, i) => (acc+=i))
}

sumAll(1,4); //10

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么在我的onload中没有调用我的javascript?

我在 Subscription 中运行的 Arrow 在 Angular/Typescript 中没有改变变量?

请帮忙!:为什么我的JavaScript中没有音频?

为什么我的变量没有保存到JavaScript中的数组中?

为什么我在JavaScript中遇到无限循环

为什么我的JavaScript代码中可能存在无限循环?

为什么我的变量在javascript中返回未定义?

为什么我的变量在 javascript 中未定义?

当我在OnClientClick中调用Javascript函数时,为什么我的Javascript函数没有被调用

为什么我的div中没有调用我的javascript函数?

为什么在 JavaScript 中没有重新分配循环内的“常量”变量?

为什么我的对象中的值没有改变?

为什么我的 NavigationBar 颜色在 Swift 中没有改变?

为什么在单独的线程中修改时我的变量没有改变?C++/提升

为什么我的变量没有在我的Makefile中扩展?

为什么我的函数没有从数组中删除所有字符串?javascript

当我在其他函数中修改变量“num1”时,为什么它没有改变?

在javascript中滚动时为什么我的文本没有移动?

为什么这个 Javascript 函数没有打印到我的 HTML 文档中?

为什么我的对象没有以编程方式正确添加到 JavaScript 中的 select 元素?

为什么它说我的方法没有在 javascript 中定义?

为什么在Nim中引用不可变变量不是没有副作用的?

在 JavaScript 中,为什么这个全局变量在我的函数中未定义?

为什么我的 JavaScript 循环延迟(使用 setTimeout)不修改变量?

为什么我的JavaScript无法循环播放

为什么我在If语句中设置的变量不能在javascript中的if语句之外起作用?

为什么我的 JavaScript 似乎无法在我的 HTML 中运行

javascript:为什么javascript对象中没有键

为什么我的文字没有显示在我的DIV中?