<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>