在Javascript中添加未定义数组的总和

在Javascript中添加未定义数组的总和,javascript,arrays,for-loop,array-sum,Javascript,Arrays,For Loop,Array Sum,现在,如果我在数组中定义了预设值,那么这段代码就可以工作了。如果没有定义这些值,我该怎么做呢?一般来说,我很难处理所有循环,尤其是循环 function sum() { let input = document.getElementById("wordInput").value; let values = []; let sum = 0; for (var i = 0; i < values.length; i++) { sum += values[i]

现在,如果我在数组中定义了预设值,那么这段代码就可以工作了。如果没有定义这些值,我该怎么做呢?一般来说,我很难处理所有循环,尤其是循环

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;
    }
  }
}
我知道有很多方法可以实现这一点,但是为了完成我的任务,我必须使用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;
    }
  }
}
函数和(){
让输入=document.getElementById(“wordInput”).value;
让值=[];
设和=0;
对于(变量i=0;i
为函数指定一个参数。通过这种方式,您可以将任何数组传递给函数并在其上循环,而不管长度如何

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]);
函数和(值){
让输入=document.getElementById(“textField”).value;
设和=0;
对于(变量i=0;i
为函数指定一个参数。通过这种方式,您可以将任何数组传递给函数并在其上循环,而不管长度如何

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]);
函数和(值){
让输入=document.getElementById(“textField”).value;
设和=0;
对于(变量i=0;i
简单示例:

函数汇总(值){
//摆脱输入
//将值作为本例的参数
设和=0;
设res=0;//或任何默认值
如果(值){
对于(变量i=0;i
简单示例:

函数汇总(值){
//摆脱输入
//将值作为本例的参数
设和=0;
设res=0;//或任何默认值
如果(值){
对于(变量i=0;i

您想解决的问题有点不清楚,但我会回答您可能提出的问题

首先,我将对我看到的代码提供一些注释。首先,您可能希望将
if(values){}
块移出
For
循环。我猜您的目的是在存在
值时更新DOM

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

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

以下是我的建议,不知道您对
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;
  }
}
函数和(){
让输入=document.getElementById(“wordInput”).value;
设和=0;
const values=[]//无论值来自何处,可能是函数参数或输入
对于(变量i=0;i0){
document.getElementById(“resultReturned”).innerHTML=“总和为”+总和;
}
}

您想解决的问题有点不清楚,但我会回答您可能提出的问题

首先,我将对我看到的代码提供一些注释。首先,您可能希望将
if(values){}
块移出
For
循环。我猜您的目的是在存在
值时更新DOM

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

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

以下是我的建议,不知道您对
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;
  }
}
函数和(){
让输入=document.getElementById(“wordInput”).value;
设和=0;
const values=[]//无论值来自何处,可能是函数参数或输入
对于(变量i=0;i0){
document.getElementById(“resultReturned”).innerHTML=“总和为”+总和;
}
}

您的具体意思是,数组中的值是
未定义的
,还是您不知道它们是什么?类似于
if(value[i]!==未定义)sum+=value[i]我的意思是它们没有定义。用户在表单中输入的任何内容都应计算为等于总和……您的具体意思是,数组中的值是
未定义的
,还是您不知道它们是什么?类似于
if(values[i]!==未定义)sum+=values[i]我的意思是它们没有定义。用户在表单中输入的任何内容都应计算为等于总和。。。。