Input Typescript从用户输入的数字中查找总和

Input Typescript从用户输入的数字中查找总和,input,sum,typescript,addition,variadic,Input,Sum,Typescript,Addition,Variadic,我的任务:有一个输入,其中数字用逗号分隔&按钮将总和输出到DOM 我不知道从哪里开始。我想我所拥有的至少是一个好的开始。。。但是在搜索了网络和stackoverflow之后,我还没有想出任何其他的想法 我假设使用一个数组。另外,一位教授指出,我最初添加一个类(“class Calculate{…}”)是一种我可以使用的方法,但后来我偏离了这个方法,现在还不确定我是否需要回到这个方法 HTML 打字稿 function calculate(){ var numbersinput:HTMLIn

我的任务:有一个输入,其中数字用逗号分隔&按钮将总和输出到DOM

我不知道从哪里开始。我想我所拥有的至少是一个好的开始。。。但是在搜索了网络和stackoverflow之后,我还没有想出任何其他的想法

我假设使用一个数组。另外,一位教授指出,我最初添加一个类(“class Calculate{…}”)是一种我可以使用的方法,但后来我偏离了这个方法,现在还不确定我是否需要回到这个方法

HTML


打字稿

function calculate(){

var numbersinput:HTMLInputElement =
    <HTMLInputElement>document.getElementById('numbersinput');

var numbers:number[] = [parseFloat(numbersinput.value)];

var sum = 0;
for(var i:number = 0; i, numbers.length; i++){
    console.log(numbers[i]);
    sum += numbers[i];
}

var outputElement:HTMLDivElement =
    <HTMLDivElement>document.getElementById('output');
outputElement.innerHTML = sum.toString();

}
函数计算(){
变量编号输入:HTMLInputElement=
document.getElementById('numberInput');
变量编号:编号[]=[parseFloat(numberInput.value)];
var总和=0;
for(变量i:number=0;i,numbers.length;i++){
控制台日志(编号[i]);
总和+=数字[i];
}
变量outputElement:HtmlLevel=
document.getElementById('output');
outputElement.innerHTML=sum.toString();
}

如果我理解正确,NumberInput变量将有一个逗号分隔的数字列表(即“3.0,2,1.3”)。如果是这种情况,可以使用将数字转换为数组

一旦数组中有了这些数字,就可以在循环中遍历它们并求和(还可以查看是否需要一个challend)

在尝试将数组中的每个数字添加到总和之前,您可能需要验证该数字是否有效。您可以使用将字符串转换为数字,然后使用在将其添加到总和之前确定该数字是否有效


这应该是您所需要的全部,我故意省略了代码,因此您必须自己计算该部分。

我认为问题在于数组中的数字类型是字符串,因此通过使用
+=
运算符,您实际上是在连接它们,因此您可能需要在转换之前对它们进行检查

for(变量i:number=0;i,numbers.length;i++){
var num=数量(数量[i]);
如果(!isNaN(num))
sum+=num;
}
function calculate(){

var numbersinput:HTMLInputElement =
    <HTMLInputElement>document.getElementById('numbersinput');

var numbers:number[] = [parseFloat(numbersinput.value)];

var sum = 0;
for(var i:number = 0; i, numbers.length; i++){
    console.log(numbers[i]);
    sum += numbers[i];
}

var outputElement:HTMLDivElement =
    <HTMLDivElement>document.getElementById('output');
outputElement.innerHTML = sum.toString();

}