Search code examples
javascriptarraysparsefloat

parseFloat returning NaN when converting var from array JavaScript


Im trying to convert a value to float, that i get from an array, but it always comes out as NaN, even though it starts with a number. What am i doing wrong?

var lat = <?php echo json_encode($result1); ?>;
for(var i = 0; i<lat.length; i++){
    //var lokacija = {lat: parseFloat(lat[i]), lng: parseFloat(lng[i])};
    //var marker = new google.maps.Marker({position: lokacija, map: map}); 
    var num2 = lat[i];
    console.log(lat[i]);
    console.log(parseFloat(num2)
}

In console it comes out like this(array has tvo values in it): https://i.gyazo.com/31d5e613a7abee5f86daa52895561b5d.png


Solution

  • It looks like you have an array of objects from which you need the lat property:

    var arr = <?php echo json_encode($result1); ?>;
    for (var i = 0; i < arr.length; i++){
      var num2 = arr[i].lat;
      console.log(parseFloat(num2);
    }
    

    A more modern way of approaching this:

    arr.forEach(({ lat }) => console.log(parseFloat(lat));