javascript - 对某个范围内的所有数字求和

标签 javascript

freecodecamp 算法挑战。我无法确定函数中的哪一点返回多个值。正确的返回值应该是10。我在这个函数中打印出的console.log显示了三个值,中间的那个是正确的值。我如何定位这个特定值并忽略其他值? https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-numbers-in-a-range

function sumAll(arr) {
    for (let i = 0; i < arr.length; i++){
      if (arr[i] != arr[arr.length -1]){
        let num = arr[i] + 1;
        arr.splice(arr[i], 0, num);
          console.log(arr.reduce(function(sum, value) {
            return sum + value;
          }, 0));
      }
    }
}

sumAll([1, 4]);

最佳答案

如果您提取范围实用函数,您可以更轻松地做到这一点。没有命令性

const range = (a,b) => Array(Math.abs(a-b)+1).fill(0).map((_,i) => i+Math.min(a,b))
const sumAll = ([a,b]) => range(a,b).reduce((c,d) => c+d,0)

要准确诊断代码的问题,一个好的开始是它不返回任何内容,它是 console.logging,因此如果您将 console.log 替换为 return .

关于javascript - 对某个范围内的所有数字求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68554113/

相关文章:

javascript - 如何查找 Javascript 变量中的键数?

javascript - 自动完成 jQuery 插件 : Value of selected array index

javascript - 火狐插件: get document from a tab

javascript - 谁能帮我找出explorer 7和8中出现的js错误是什么?

javascript - 用动态创建的路径替换嵌套的 JavaScript 对象数据项?

javascript - onBeforeUnload 和多种形式

javascript - 使用 nodeJS 在 ArangoDB 中保存文档时出错

javascript - 如果父元素重复则移动子元素

javascript - 元素如何仅在滚动时固定到页面顶部?

javascript - 检查 jQuery 数组中的值是否按顺序排列