GennadyBerg 2 лет назад
Родитель
Сommit
abbf4e6da5

+ 55 - 0
js/08/hw08_10_!CurrencyTable.html

@@ -0,0 +1,55 @@
+<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>

+ 34 - 0
js/08/hw08_11_!Form.html

@@ -0,0 +1,34 @@
+<header>
+    <h1>Form</h1>
+</header>
+
+<body>
+    <script>
+        obj = {
+            "Name": "chevrolet chevelle malibu",
+            "Cylinders": 8,
+            "Displacement": 307,
+            "Horsepower": 130,
+            "Weight_in_lbs": 3504,
+            "Origin": "USA",
+            "in_production": false
+        };
+        const createForm = () => {
+            const typesMap = { 'boolean': 'checkbox', 'number': 'number', 'string': 'text' };
+            let str = "<form>\n";
+            for (var name in obj) {
+                value = obj[name];
+                type = typeof value;
+                htmlType = typesMap[type];
+                str += ` <label>${name}: <input type="${htmlType}" value="${value}" /></label>\n`;
+            }
+            str += "</form>";
+            return str;
+        }
+        
+        str = createForm(obj);
+        document.write(str);
+        alert(str);
+    </script>
+
+</body>

+ 0 - 39
js/08/hw08_12_ArrayOfObj.html

@@ -1,39 +0,0 @@
-<header>
-    <h1>ArreyOfObject</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;
-        }
-        var persons = [
-            { name: "Иван", age: 17 },
-            { name: "Мария", age: 35 },
-            { name: "Алексей", age: 73 },
-            { name: "Яков", age: 12 },
-        ]
-        /*a   b   comp<    asc     res
-        1   2   true    false   false
-        2   1   false   false   true
-        
-        1   2   true    true   true
-        2   1   false   true   false*/
-        const sort = (arr, name, asc = true) =>
-            arr.sort((a, b) => (a[name] < b[name]) == asc ? -1 : 1);
-        sort(persons, "age"); //сортирует по возрасту по возрастанию
-        document.write(toHtmlTable(persons.map(p => Object.entries(p))));
-        sort(persons, "name", false); //сортирует по имени по убыванию
-        document.write(toHtmlTable(persons.map(p => Object.entries(p))));
-    </script>
-
-</body>

+ 0 - 75
js/08/hw08_13_Table.html

@@ -1,75 +0,0 @@
-<header>
-    <h1>Literals</h1>
-</header>
-
-<body>
-    <script>
-        
-    </script>
-
-</body>
-
-var arr = [
-            {
-                "Name": "chevrolet chevelle malibu",
-                "Cylinders": 8,
-                "Displacement": 307,
-                "Horsepower": 130,
-                "Weight_in_lbs": 3504,
-                "Origin": "USA"
-            },
-            {
-                "Name": "buick skylark 320",
-                "Miles_per_Gallon": 15,
-                "Cylinders": 8,
-                "Displacement": 350,
-                "Horsepower": 165,
-                "Weight_in_lbs": 3693,
-                "Acceleration": 11.5,
-                "Year": "1970-01-01",
-            },
-            {
-                "Miles_per_Gallon": 18,
-                "Cylinders": 8,
-                "Displacement": 318,
-                "Horsepower": 150,
-                "Weight_in_lbs": 3436,
-                "Year": "1970-01-01",
-                "Origin": "USA"
-            },
-            {
-                "Name": "amc rebel sst",
-                "Miles_per_Gallon": 16,
-                "Cylinders": 8,
-                "Displacement": 304,
-                "Horsepower": 150,
-                "Year": "1970-01-01",
-                "Origin": "USA"
-            },
-        ]
-        names = Object
-            .entries(
-                arr.reduce(
-                    (prev, next) => {
-                        return { ...prev, ...next };
-                    }
-                ))
-            .map(entry => entry[0]);
-        str = "<table>";
-        str += "<tr>" +
-            names
-                .map(name => `<td>${name}</td>`)
-                .join('') +
-            "</tr>";
-        str +=
-                arr
-                    .map(obj => 
-                        `<tr>${
-                            names
-                                .map(name => `<td>${obj[name] || "-"}</td>`)
-                                .join('')
-                        }</tr>`)
-                    .join('');
-        str += "</table>";
-
-        document.write(str)

+ 0 - 28
js/08/hw08_14_Divide.html

@@ -1,28 +0,0 @@
-<header>
-    <h1>Literals</h1>
-</header>
-
-<body>
-    <script>
-        
-    </script>
-
-</body>
-
-
-<input type='number' id="firstNumber" />
-<input type='number' id="secondNumber" />
-<div id="divisionResult">
-    текст в div
-</div>
-<script>
-    const calcResult = () => {
-        console.log(firstNumber.value, secondNumber.value, divisionResult.innerHTML)
-        divisionResult.innerHTML = "Текст в <code>div</code> поменян с помощью <strong>Javascript</strong><br/>" + Math.random()
-    }
-    
-    firstNumber.oninput = secondNumber.oninput = calcResult
-</script>
-
-
-

+ 1 - 1
js/08/hw08_15_Calc Func.html

@@ -1,5 +1,5 @@
 <header>
-    <h1>Literals</h1>
+    <h1>CalcFunc</h1>
 </header>
 
 <body>