javascript:NaN,当得到平均值时
javascript: NaN when getting average
所以我跟着这个小提琴:http://jsfiddle.net/4h6w64d8/2/但不幸的是,当我尝试代码时,平均值是NaN。即使一列没有值,它仍然会计算并显示平均值。然而,当我尝试它时,它只会显示NaN。
这是我的html:
<table id="scorecard_student" class="table table-striped table-bordered">
<thead>
<tr>
<th>Code </th>
<th>PO 1</th>
<th>PO 2</th>
<th>PO 3</th>
<th>PO 4</th>
<th>PO 5</th>
<th>PO 6</th>
<th>PO 7</th>
<th>PO 8</th>
<th>PO 9</th>
</tr>
</thead>
<tbody>
<tr>
<td width="7%">ICT117</td>
<td></td>
<td></td>
<td></td>
<td>2.0</td>
<td></td>
<td>2.0</td>
<td></td>
<td></td>
<td>1.5</td>
</tr>
<tr>
<td width="7%">ICT118</td>
<td></td>
<td></td>
<td>2.0</td>
<td>2.0</td>
<td></td>
<td></td>
<td></td>
<td>2.0</td>
<td>1.5</td>
</tr>
<tr>
<td width="7%">ICT110</td>
<td>3.0</td>
<td>2.0</td>
<td></td>
<td></td>
<td></td>
<td>2.0</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td width="7%">ICT111</td>
<td></td>
<td></td>
<td></td>
<td>2.0</td>
<td>2.0</td>
<td>2.0</td>
<td>1.5</td>
<td></td>
<td></td>
</tr>
</tbody>
<tfoot>
<tr bgcolor="#FFF380">
<td>
<center>Average</center>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tfoot>
</table>
我的js:
<script type="text/javascript">
var table = document.getElementById('scorecard_student'),
rows = table.getElementsByTagName('tbody')[0].getElementsByTagName('tr'),
footer = table.getElementsByTagName('tfoot')[0];
for (var i = 1; i <= <? php echo $po_count; ?> ; i++) {
var sum = numOfValues = 0;
for (var j = 0, l = rows.length; j < l; j++) {
try {
sum += parseFloat(
rows[j].getElementsByTagName('td')[i]
.innerHTML
);
numOfValues++;
} catch (e) {}
}
var avg = sum / numOfValues;
footer.getElementsByTagName('td')[i]
.innerHTML = Math.round(avg * 100) / 100;
}
</script>
更新,我想我现在明白了。
if (rows[j].getElementsByTagName('td')[i].innerHTML != '') {
sum += parseFloat(
rows[j].getElementsByTagName('td')[i]
.innerHTML
) || 0;
numOfValues++;
}
在某些情况下,您需要跳过它:
sum += parseFloat(
rows[j].getElementsByTagName('td')[i]
.innerHTML
) || 0; //<--
相关文章:
- 平均值:无法将数据更新到数据库
- JavaScript NaN equvialence
- 使用JS查找数组的平均值
- 如何为排除无穷大和NaN的数字声明Flow类型
- 为什么我在这个javaScript代码中使用NaN
- 如何防止Math.max()返回NaN
- 函数将输出nan而不是数字,为什么
- jquery中出现NaN错误.已经尝试过ParseInt,但仍然不起作用
- 平均值.on(事件[,选择器][,数据],处理程序)
- 尝试求和时,在我的表的页脚中返回$NaN
- 我的jquery中出现NaN错误
- 金额结果为NaN
- JS:从整个数组中每次得到5个项目,并得到平均值
- 使用running total时使用Javascript$NaN
- 使用jquery CounterUp提供NaN的百万值
- 为什么Math.pow(1,无穷大)返回NaN
- parseFloat() returning NaN
- 为什么分配给“NaN”或“未定义”会导致类型错误
- javascript:NaN,当得到平均值时
- 为什么我的基于约简的平均值函数返回 NaN