Intenté imprimir los países usando el dólar estadounidense en la API de Restcountries ( https://restcountries.com/v3.1/all ). Lo intenté pero no se muestra nada como resultado:
Mi código de la siguiente manera
const getUSDollar = () => { const xhr = new XMLHttpRequest(); xhr.open("GET", "https://restcountries.com/v3.1/all", true); xhr.responseType = "json"; xhr.onload = () => { const data = xhr.response; const datas = data.filter((value) => { for (var i in value.currencies.name.USD) { if (i === "Unites States Dollar") { return true; } } }).map((value) => value.name); console.log(datas); } xhr.send(); }; getUSDollar();Por favor, mire esto.
puedes probar esto
xhr.onload = () => { const data = xhr.response; const datas = data .filter((item) => item?.currencies?.USD?.name === "United States dollar") .map((value) => value.name); console.log('datas', datas); };Como sugirió @eglease, no necesita verificar el nombre, solo puede verificar USD y filtrar el obj de esta manera,
xhr.onload = () => { const data = xhr.response; const datas = data .filter((item) => item?.currencies?.USD) .map((value) => value.name); console.log('datas', datas); }; Funcionó para mí. Prueba y comenta si esto es lo que esperas o no. 