用 js 对每行的数字求和
Sum numbers of each line with js
我需要的是当我在文本区域输入数字时,我需要它来获取每行的总和。
在文本区域输入的行示例:
- 10
- 10 10
- 99 11
- 11 11
Div 的示例,我得到每行的总和
- 30
- 110
- 22
我有一个脚本,但它仅显示带有警报的结果。我不知道该怎么做,所以它会在div 上显示所有结果。现在div 只显示最后一行的结果。
$('#sub').click(function() {
var grandTotal = 0,
rowTotals = [], // array to hold individual row totals
rowData,
rows,
val,
rawData = document.getElementById('nums').value;
// if desired replace this comment with regex validation of rawData
rows = rawData.split("'n");
for (var i=0; i < rows.length; i++) {
rowTotals[i] = 0;
rowData = rows[i].split(" ");
// if you need to test that each row has the same number
// of values in it do that here
for (var j=0; j < rowData.length; j++) {
val = parseFloat(rowData[j]);
// add validation of val here
rowTotals[i] += val;
}
alert("Total for row " + (i + 1) + ": " + rowTotals[i]);
// ALERT SHOWS RESULT FOR EVERY LINE
$('#res').html(rowTotals[i]);
// HTML SHOWS RES FOR LAST LINE ONLY. I NEED IT TO SHOW RESULTS OF ALL LINES
}
});
<textarea id="nums" rows="10"></textarea>
<div id="res"></div>
<input type="button" id="sub" value="Sum">
https://jsfiddle.net/9yc70csj/1/
在函数开始时,使用 $('#res').html("")
重置结果。
然后,要将结果添加到div,请使用以下代码:
var div = $('<div/>');
div.text("Total for row " + (i + 1) + ":" + rowTotals[i]);
$('#res').append(div);
你创建一个新的div,然后将你想要的文本放在里面。然后将其附加到结果中,因此每个新div 都将位于 #res 容器的末尾。
此外,最好正确处理空行或有语法错误的行。例如,您可以:
检查行是否以数字开头(以排除空行),如下所示
if(!rows[i].match("[0-9]+")) continue;
使用
isNaN
检查您解析的内容是否确实是一个数字:val = parseFloat(rowData[j]); if(!isNaN(val)) rowTotals[i] += val;
而不是:
alert("Total for row " + (i + 1) + ": " + rowTotals[i]);
添加这个:
$('#res').html($('#res').html()+rowTotals[i] + "<br>");
请参阅:https://jsfiddle.net/9yc70csj/3/
将最后一行更改为此 $('#res').html($('#res').html() + "<br>" + rowTotals[i]);
相关文章:
- 如何使用jquery对货币格式的数字求和
- 如何在JavaScript中使用此函数对范围内的所有数字求和
- 如何使用javascript对每个表的所有数字求和
- JavaScript对数组中的数字求和
- 无论格式如何,对数字求和正确
- 对正则表达式产生的所有类型的数字求和
- 角度 - 使用函数对数字求和并将其放入视图中
- 用 js 对每行的数字求和
- 求和用户定义的数字
- 试图创建一个对数字求和的Javascript函数
- 在ionic cordova (angularjs)中动态地向屏幕添加输入字段,并对它们的(数字)内容求和
- 在Javascript中,使用for循环对数组中的数字求和
- 在循环时从localStorage中求和数字值
- Javascript按两个数字序列对数组中的数字求和
- 对模板中的数字求和
- 用于求和的字符串到数字
- Javascript不会对数字求和
- 对数字求和并显示它们
- 如何用javascript求和多个(未定义的数字)文本框的数量
- 使用求和方程JAVASCRIPT将它们转换为数字的单词块