最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Sum numbers returns NaN - Stack Overflow

programmeradmin3浏览0评论

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.

Share Improve this question asked Mar 18, 2016 at 17:47 IgorIgor 6735 gold badges16 silver badges38 bronze badges 1
  • Does this answer your question? Object returning NaN when sum values – Ivar Commented Feb 27, 2021 at 17:38
Add a ment  | 

2 Answers 2

Reset to default 13

You 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);
发布评论

评论列表(0)

  1. 暂无评论