I'm trying to do a sum of numbers inside div's, so, I did:
$(document).ready(function() {
var numbers, sumNumbers;
$(".item").each(function() {
numbers = $(this).children().text();
numbers = +numbers;
sumNumbers += numbers;
});
console.log(sumNumbers);
});
<script src=".1.1/jquery.min.js"></script>
<div class="item">
<span class="itemNum">0</span>
</div>
<div class="item">
<span class="itemNum">2</span>
</div>
<div class="item">
<span class="itemNum">1</span>
</div>
I'm trying to do a sum of numbers inside div's, so, I did:
$(document).ready(function() {
var numbers, sumNumbers;
$(".item").each(function() {
numbers = $(this).children().text();
numbers = +numbers;
sumNumbers += numbers;
});
console.log(sumNumbers);
});
<script src="https://ajax.googleapis./ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item">
<span class="itemNum">0</span>
</div>
<div class="item">
<span class="itemNum">2</span>
</div>
<div class="item">
<span class="itemNum">1</span>
</div>
But, same converting the numbers
from text to number with +numbers
is returned NaN, why? I've already tried with Number(numbers)
too but the result is the same.
- Does this answer your question? Object returning NaN when sum values – Ivar Commented Feb 27, 2021 at 17:38
2 Answers
Reset to default 13You didn't initialize sumNumbers
, so you get undefined
+ a number = NaN
var numbers, sumNumbers = 0;
Try this
var numbers=0, sumNumbers=0; //initilize numbers & sumNumbers;
$(".item").each(function () {
numbers = $(this).children().text() * 1; // *1 convert string to number
sumNumbers += numbers;
});
console.log(sumNumbers);