2016-03-18 21 views
0

Ben div'lerden içindeki sayıların toplamını yapmaya çalışıyorum döner, bu yüzden, ben yaptım:Sum numaralar NaN

$(document).ready(function() { 
 
    var numbers, sumNumbers; 
 

 
    $(".item").each(function() { 
 
    \t numbers = $(this).children().text(); 
 
     numbers = +numbers; 
 
    
 
     sumNumbers += numbers; 
 
    }); 
 
    
 
    console.log(sumNumbers); 
 
});
<script src="https://ajax.googleapis.com/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>

Fakat, metinden numbers dönüştürme +numbers ile aynı numaraya NaN döndü, neden? Ben zaten Number(numbers) ile denedim ama sonuç aynı.

cevap

9

Sen sumNumbers başlatılamadı etmedi, bu yüzden undefined olsun + a number = NaN

var numbers, sumNumbers = 0; 
+0

OMG deneyin kadar basit! Teşekkür ederim! – Igor

1

bu

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

'numbers + =' ??? – Musa