Javascript 如何在数组中添加数字,以及在向数组中添加更多数字时重新计算和添加数字?

Javascript 如何在数组中添加数字,以及在向数组中添加更多数字时重新计算和添加数字?,javascript,jquery,html,Javascript,Jquery,Html,我试图在数组中添加数字,并用添加的数字更新DOM。然后,当向数组中添加更多的数字时,当再次运行加法函数时,将重新计算数组,并使用数组中数字的总和更新DOM 这是一把小提琴: 目前,它只显示数组中的最后一个数字,而不添加数组中的数字。谢谢你的帮助 JavaScript: var numb = []; var total = ''; $('.new').on('click', function(){ var infoStuff = $('.to-add input').val();

我试图在数组中添加数字,并用添加的数字更新DOM。然后,当向数组中添加更多的数字时,当再次运行加法函数时,将重新计算数组,并使用数组中数字的总和更新DOM

这是一把小提琴:

目前,它只显示数组中的最后一个数字,而不添加数组中的数字。谢谢你的帮助

JavaScript:

var numb = [];
var total = '';

$('.new').on('click', function(){
    var infoStuff = $('.to-add input').val();
    $('.added').append('<div class="test">'+ infoStuff + '</div>');
    numb.push(infoStuff);
});

$('.button').on('click', function(){
    for(var i=0; i < numb.length; i++){
        total = Number(numb[i]);
    }
    $('.total').html(total);
});
var numb=[];
var总计=“”;
$('.new')。在('click',function()上{
var infoStuff=$('.to add input').val();
$('.added').append(''+infoStuff+'');
麻木。推(信息材料);
});
$('.button')。在('click',function()上{
for(var i=0;i
看看这把小提琴:

var numb=[];
$('.new')。在('click',function()上{
var infoStuff=$('.to add input').val();
$('.added').append(''+infoStuff+'');
numb.push(parseInt(infoStuff));
});
$('.button')。在('click',function()上{
$('.total').html(numb.reduce(函数(prev,curr){
返回上一个+当前;
}, 0));
});

在将其添加到
numb
之前,我在
infoStuff
上使用并运行了
parseInt
。出于示例的考虑,您可以更改要取小数的值。

您需要将新值添加到循环内的
total
,而不是将新值分配给它。另外,将
total
声明为局部变量-否则新数字将添加到先前计算的总数中:

$('.button').on('click', function () {
  var total=0; // local variable, starts with 0 every time
  for (var i = 0; i < numb.length; i++) {
    total += Number(numb[i]); // add the number to existing total
  }
  $('.total').html(total);
});
$('.button')。在('click',函数(){
var total=0;//局部变量,每次以0开头
for(var i=0;i

如果我在输入中用空格分隔数字会怎么样?例如,在单个数组位置,你将拥有<代码> 4 5 89 。注意,在一些较老的浏览器上不支持数组。还原()。因此,你需要为他们填充。@ Chipe,这是真的,你可能要考虑一个公正的例子。
$('.button').on('click', function () {
  var total=0; // local variable, starts with 0 every time
  for (var i = 0; i < numb.length; i++) {
    total += Number(numb[i]); // add the number to existing total
  }
  $('.total').html(total);
});