I’m fetching data from an API which returns currency exchange rates like so:
I was able to manipulate the fetched data using:
const rate = Object.values(data).splice(11,5);
However, my next problem comes when trying to parseFloat this object into a number.. for some reason it only returns the first digit so in case of “1.044” it’d convert it into “1”.
How can I handle this ? I’m thinking to perhaps map thru the rate array and then parseFloat everything..?
const parsedRate = rate.map(i => i).parseFloat();
would this even work ?
ok guys – sorry for taking your time and I appreciate all your answers! but I had JSON.stringify on the string and that’s what was causing the problem… SORRY!!!
You just need to access the exchange rate(s) by their name. Assuming it’s in a variable called
rates, it’s just
const rate = rates.EUR_USD;
to assign the numeric value
1.044136 to the variable
If, however, you have a string containing the JSON response from the API:
And you’re trying to use
string.splice() to extract bits from it, you are going about it the wrong way.
All you have to do to rehydrate that JSON response body into an object is to use
const json = callUpstreamExchangeRateApi(); const rates = JSON.parse(json); const rate = rates.EUR_USD;