Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

108
Vistas
Find value in Javascript array

I'm struggling with a task in javascript. I want to extract the value from an array in an API. I want to get the last_price in the Monet_ADA array. Here is the data in the API.

641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6.ZOMBIE_ADA: {last_price: 0.0016, base_volume: 0, quote_volume: 0} 682fe60c9918842b3323c43b5144bc3d52a23bd2fb81345560d73f63.NEWM_ADA: {last_price: 2.4e-8, base_volume: 0, quote_volume: 0} 722c45e8ba2a3c399cf09949abe74546ecb75defb8206914085dc28e.CDX_ADA: {last_price: 0.22, base_volume: 0, quote_volume: 0} 776da8416dc56107275424b009eb82353235f10ef8e0b77088fd7964.TrustCoin_ADA: {last_price: 0.00006, base_volume: 0, quote_volume: 0} 782c158a98aed3aa676d9c85117525dcf3acc5506a30a8d87369fbcb.Monet_ADA: {last_price: 1.1e-9, base_volume: 0, quote_volume: 0} 804f5544c1962a40546827cab750a88404dc7108c0f588b72964754f.VYFI_ADA: {last_price: 0.0000019, base_volume: 0, quote_volume: 0} 815f432f5d9b36e77989d0fea374292e9c8330c5146ca8500632b3cf.Squid_ADA: {last_price: 'NA', base_volume: 0, quote_volume: 0} 823f7c8e25ee35f368daf2c9b6b4783c1d9a763eb5227b50b095f6c2.Djedi_ADA: {last_price: 'NA', base_volume: 0, quote_volume: 0} 0864aa509385d78b9d83e8547424a055bb93e152a767383c6e0ea854.AINU_ADA: {last_price: 'NA', base_volume: 0, quote_volume: 0}

Here is my code:

const api_url = 'http://analytics.muesliswap.com/ticker';
    
     async function getMonetPrice(){
        const response = await fetch (api_url);
        const data = await response.json();
        console.log(data);
    }
    
    getMonetPrice(); 

My code doesn't throw an error, it just returns all the data in the API. I need help parsing through the data and then returning just the last_price value in the Monet.ADA array. Please and thank you.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

  1. It's an object, not an array, but you can still iterate over it.

  2. Extract the key/value from each Object.entries, and check to see if the key endsWith "Monet_ADA".

In this example I'm passing in an endpoint, and a query object, to make life a little easier.

// Get the data
function getData(endpoint) {
  return fetch(endpoint);
}

// Accept the data, and a query object
function finder(data, { type, prop }) {

  // Iterate over the object entries and get the
  // key/value from each
  for (const [key, value] of Object.entries(data)) {

    // If the key ends with the query type
    // return the query prop value
    if (key.endsWith(type)) return value[prop];
  }

  // Otherwise return a default message
  return 'No value available';

}

// Accept an endpoint, and a query object,
// get the data, and parse it. Then call `finder`
// with the data, and the query
async function main(endpoint, query) {
  const response = await getData(endpoint);
  const data = await response.json();
  const lastPrice = await finder(data, query);
  console.log(lastPrice);
}

const endpoint = 'https://analytics.muesliswap.com/ticker';
const query = { type: 'Monet_ADA', prop: 'last_price' };

main(endpoint, query);

about 4 years ago · Juan Pablo Isaza Denunciar

0

const apiURL = 'http://analytics.muesliswap.com/ticker';

// Returns false on failure, or price on success
const getMonetPrice = async (apiURL) => {
    try {
        const response = await fetch(apiURL);
        const { '782c158a98aed3aa676d9c85117525dcf3acc5506a30a8d87369fbcb.Monet_ADA': monetPrice } = await response.json();
        if (!monetPrice) {
            throw "Couldn't find monetPrice";
            return;
        }

        const { last_price } = monetPrice;
        if (!last_price) {
            throw "Couldn't find last_price";
            return;
        }
        
        return last_price;
    } catch (error) {
        return false;
    }
};
    
const run = async () => {
    const monetPrice = await getMonetPrice(apiURL);
    console.log('monetPrice', monetPrice);
};

run();
about 4 years ago · Juan Pablo Isaza Denunciar

0

It looks like the data is an object with obscure keys, one of them ending in a string that the OP aims to get at. First find the key...

const key = Object.keys(data).find(k => k.endsWith('Monet_ADA'));
const lastPrice = key ? data[key].last_price : null;
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda