【问题标题】:Add numerical value of array elements in function在函数中添加数组元素的数值
【发布时间】:2026-02-14 03:50:01
【问题描述】:

我已成功尝试创建一个函数,将数组中所有元素的数值添加到总数中,但在为数组长度和数组本身分配不同变量时似乎存在问题分别。

所以这就是现在表面上不起作用的东西

var firstValue = 0;
var secondValue = 0;
var firstArray = [8, 5];
var secondArray = [10, 10];

function calculateSum(x,y) {
    for ( var i = 0; i < y.length; i++) {
  x += y[i];
    }
  return x
}

calculateSum(firstValue, firstArray);
console.log(calculateSum);

【问题讨论】:

    标签: javascript arrays sum add


    【解决方案1】:

    您登录的是函数本身而不是返回值。

    var a=calculateSum(firstValue, firstArray);
    console.log(a);
    

    它输出 13;

    【讨论】:

    • 知道了,谢谢。我似乎不明白为什么——在信息学的推理中,console.log(firstValue) 仍然为零。计算机中应该有一个保留的内存点,每次循环时都会修改原始的 0 值。
    • 因为 javascript 将参数作为值而不是引用传递(对于原始类型,例如字符串和数字)。所以当您将变量传递给函数时,变量保持原样。
    【解决方案2】:

    在最后一行你有console.log(calculateSum),但是这是函数而不是函数的结果

    您需要存储calculateSum 的结果,然后记录。

    var firstValue = 0;
    var secondValue = 0;
    var firstArray = [8, 5];
    var secondArray = [10, 10];
    
    function calculateSum(x,y) {
        for ( var i = 0; i < y.length; i++) {
      x += y[i];
        }
      return x
    }
    
    var result = calculateSum(firstValue, firstArray);
    alert(result);

    【讨论】:

      【解决方案3】:

      您可以使用类似的方法,然后将结果添加到您需要的位置。在此示例中,您将获得 yourArray 和 firstValue 中所有值的总和。

      var sum = yourArray.reduce(function(pe,ce){
        return pe + ce;
      }, firstValue);
      

      链接到一些docs

      【讨论】: