1

如果我在我的数组中定义了预设值,我现在这段代码可以工作,如果没有定义这些值,我将如何执行此操作?一般来说,我很难处理所有循环,尤其是对于循环。

我知道有一些方法可以实现这一点,但为了完成我的任务,我必须使用 for 循环来实现它。

function sum() {
  let input = document.getElementById("wordInput").value;
  let values = [];
  let sum = 0;

  for (var i = 0; i < values.length; i++) {
    sum += values[i]

    if (values) {
      document.getElementById("resultReturned").innerHTML = " Total is" + sum;
    }
  }
}
4

3 回答 3

0

给你的函数一个参数。这样,无论长度如何,您都可以将任何数组传递给您的函数并对其进行循环。

function sum(values) {
  let input = document.getElementById("textField").value;
  let sum = 0;

  for (var i = 0; i < values.length; i++) {
    sum += values[i]

    if (values) {
      document.getElementById("valueReturned").innerHTML = "The sum is" + sum;
    }
  }
}

// Call the sum function and pass an array.
sum([1, 2, 3, 4]);
于 2020-03-27T20:17:55.280 回答
0

简单示例:

function sumup(values) {
  // Got rid of input
  // taking values as arguments for this example
  let sum = 0;
  let res = 0; // Or whatever the default value
  if (values) {
    for (var i = 0; i < values.length; i++) {
      sum += values[i]
      res = sum;
    }
  }
  document.getElementById("valueReturned").innerHTML = "The sum is " + res;
}
sumup([1, 2, 3, 4, 5]); // Array passed here
// 15
<div id="valueReturned"></div>

于 2020-03-27T20:26:17.800 回答
0

有点不清楚你要解决什么,但我会回答我相信你可能会问的问题。

首先,我将对我看到的代码提供一些评论。对于初学者,您可能希望将该if (values) {}块移出for循环。我猜你的意图是更新 DOM(如果有values.

其次,如果values是一个数组,您应该查看数组的长度以确定它是否为空,例如if (values.length > 0). 一个空数组将评估真值,并且每次都会使用您编写的代码更新 DOM。

第三,我不确定input这里的作用。这将为您提供单个值,而不是数组。

这是我的建议,不知道您对角色的设想input

function sum() {
  let input = document.getElementById("wordInput").value;
  let sum = 0;

  const values = [] // wherever values come from, perhaps a function argument or inputs

  for (var i = 0; i < values.length; i++) {
    sum += values[i]
  }
  if (values.length > 0) {
    document.getElementById("resultReturned").innerHTML = "The sum is" + sum;
  }
}
于 2020-03-27T20:29:00.960 回答