12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <header>
- <h1>Currency Table</h1>
- </header>
- <body>
- <script>
- const toHtmlTable = (arr) => {
- let str = "<table>";
- for (let arrEl of arr) {
- str += "<tr>";
- for (let val of arrEl) {
- str += `<td>${val}</td>`;
- }
- str += "</tr>";
- }
- str += "</table>";
- return str;
- }
- const createCurrencyTable = () => {
- fetch(`https://open.er-api.com/v6/latest/USD`)
- .then(response => response.json())
- .then(data => {
- const name = 0;
- const value = 1;
- arr = Object.entries(data.rates);
- let arr2 = [];
- // первичная обработка запроса к серверу
- arr2[0] = []; // открываем массив строки с названиями валют
- arr2[0][0] = '';
- for (let i = 0; i < arr.length; i++)
- arr2[0][i + 1] = arr[i][name];// заполнение оглавления со смещением на позицию
- for (let i = 0; i < arr.length; i++) {
- arr2[i + 1] = [];
- arr2[i + 1][0] = arr[i][name];
- currRate1 = arr[i][value]; // заполнение значащих строк из массива пар (имя и кросс)
- for (let j = 0; j < arr.length; j++) {
- currRate2 = arr[j][value];
- crossCurrRate = currRate2 / currRate1;
- arr2[i + 1][j + 1] = crossCurrRate;
- }
- }
- document.write(toHtmlTable(arr2));
- });
- }
- createCurrencyTable();
- </script>
- </body>
|