hw08_10_CurrencyTable.html 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <header>
  2. <h1>Currency Table</h1>
  3. </header>
  4. <body>
  5. <script>
  6. const toHtmlTable = (arr) => {
  7. let str = "<table>";
  8. for (let arrEl of arr) {
  9. str += "<tr>";
  10. for (let val of arrEl) {
  11. str += `<td>${val}</td>`;
  12. }
  13. str += "</tr>";
  14. }
  15. str += "</table>";
  16. return str;
  17. }
  18. const createCurrencyTable = () => {
  19. fetch(`https://open.er-api.com/v6/latest/USD`)
  20. .then(response => response.json())
  21. .then(data => {
  22. const name = 0;
  23. const value = 1;
  24. let str = "<table>";
  25. arr = Object.entries(data.rates);
  26. str += "<tr><td></td>";
  27. for (let i = 0; i < arr.length; i++) {
  28. str += `<td>${arr[i][name]}</td>`;
  29. }
  30. str += "</tr>";
  31. for (let i = 0; i < arr.length; i++) {
  32. str += `<tr><td>${arr[i][name]}</td>`;
  33. currRate1 = arr[i][value];
  34. for (let j = 0; j < arr.length; j++) {
  35. currRate2 = arr[j][value];
  36. crossCurrRate = currRate2 / currRate1;
  37. str += `<td>${crossCurrRate.toFixed(3)}</td>`;
  38. }
  39. str += "</tr>";
  40. }
  41. str += "</table>";
  42. document.write(str);
  43. });
  44. }
  45. </script>
  46. </body>