Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

555
Views
Obtenga datos de Rest Countries API v3 usando el método de filtro

Estaba tratando de obtener los datos de moneda de la API de Rest Countries v3.1: https://restcountries.com/v3.1/all . Lo que estaba tratando de hacer era obtener el nombre de los países que tienen el dólar estadounidense como moneda e imprimirlo en la consola del navegador.

Probé el siguiente código:

 let xhr = new XMLHttpRequest(); xhr.open("GET", "https://restcountries.com/v3.1/all") xhr.send(); xhr.onload = () => { let data = JSON.parse(xhr.response) let answer = data.filter((dummy) => (dummy.currencies !== undefined)) let realanswer = answer.filter((dollar) => (dollar.currencies.name === "United States dollar")) console.log(realanswer) }

Pero obtengo una matriz vacía en la salida sin datos.

Traté de obtener los datos que necesito con la API v2 del resto de países: https://restcountries.com/v2/all y obtuve los datos que necesitaba con el siguiente código:

 let xhr = new XMLHttpRequest(); xhr.open("GET", "https://restcountries.com/v2/all") xhr.send(); xhr.onload = () => { let data = JSON.parse(xhr.response) let answer = data.filter((dummy) => (dummy.currencies !== undefined)) let realanswer = answer.filter((dollar) => (dollar.currencies[0].name === "United States dollar")) console.log(realanswer) }

Entonces, ¿alguien puede decirme por qué no obtengo los datos de Rest Countries API v3.1? También me gustaría informar que en v2.0 los datos de moneda se almacenan en una matriz, pero en 3.1 se almacenan en un objeto. No puedo entender cómo acceder a los datos de divisas con v3.1. También quiero obtener los datos solo con la ayuda del método de filtro. ¡¡Por favor ayuda!!

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

 // Hello Check this out it works absolutely fine let xhr = new XMLHttpRequest(); xhr.open("GET", "https://restcountries.com/v3.1/all") xhr.send(); xhr.onload = () => { let data = JSON.parse(xhr.response) /* console.log(data) */ let answer = data.filter((dummy) => (dummy.currencies !== undefined)) console.log(answer.length) let realanswer = answer.filter((data) => { for (let key in data.currencies) { if(data.currencies[key].name === "United States dollar"){ return data } } }) console.log(realanswer.length, realanswer[0].currencies) }

about 4 years ago · Juan Pablo Isaza Report

0

Es porque en v3.1 no se trata solo de currencies.name , es así:

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!