Alyona Brytvina 2 роки тому
батько
коміт
2372eab161
1 змінених файлів з 53 додано та 6 видалено
  1. 53 6
      HW04/main.js

+ 53 - 6
HW04/main.js

@@ -80,7 +80,7 @@ let originPersons = [
 ];
 
 function runLoopOfNameAndSurname() {
-   let persons = [...originPersons];
+    let persons = [...originPersons];
 
     for (let i = 0; i < persons.length; i++) {
         console.log(persons[i].name, persons[i].surname);
@@ -256,7 +256,7 @@ function runHTMLTrColor() {
 }
 
 
-function runHTMLThOptional(){
+function runHTMLThOptional() {
     let persons = [
         {
             name: 'Egor',
@@ -329,19 +329,19 @@ function runDestructArray() {
         return even % 3;
     });
     const [even1, even2] = resultEven;
-    console.log(even1,even2)
+    console.log(even1, even2);
 
     let resultOdd = arr.filter(odd => {
         return odd % 2;
     });
     const [odd1, odd2, odd3] = resultOdd;
-    console.log(odd1,odd2,odd3)
+    console.log(odd1, odd2, odd3);
 
     let resultLetters = arr.filter(letter => {
         return typeof letter === 'string';
     });
     const [letter1, letter2, letter3] = resultLetters;
-    console.log(letter1,letter2,letter3)
+    console.log(letter1, letter2, letter3);
 }
 
 function runDestructString() {
@@ -378,6 +378,52 @@ function runDestruct3() {
     console.log(a, b, length);
 }
 
+function runBlueBelt() {
+    let someTree = {
+        tagName: 'table',
+        subTags: [
+            {
+                tagName: 'tr',
+                subTags: [
+                    {
+                        tagName: 'td',
+                        text: 'some text',
+                    },
+                    {
+                        tagName: 'td',
+                        text: 'some text 2',
+                    }
+                ]
+            }
+        ],
+        attrs:
+            {
+                border: 1,
+            },
+    };
+
+    function createComponent(object) {
+        let parentElem = document.createElement(object.tagName);
+
+        Object.entries(object.attrs).forEach(([key, value]) => parentElem.setAttribute(key, value));
+
+        object.subTags.forEach(function (elem) {
+                let elem1 = document.createElement(elem.tagName);
+                parentElem.appendChild(elem1);
+                console.log(parentElem);
+                elem.subTags.forEach(function (inner) {
+                        let elem2 = document.createElement(inner.tagName);
+                        elem1.appendChild(elem2);
+                        elem2.textContent = inner.text;
+                    }
+                );
+            }
+        );
+        document.body.appendChild(parentElem);
+    }
+
+    createComponent(someTree);
+}
 
 const tasksArray = [
     ['different fields', runDifferentFields],
@@ -396,7 +442,8 @@ const tasksArray = [
     ['destruct array', runDestructArray],
     ['destruct string', runDestructString],
     ['destruct 2', runDestruct2],
-    ['destruct 3', runDestruct3]
+    ['destruct 3', runDestruct3],
+    ['синий пояс', runBlueBelt]
 ];
 
 let $list = document.querySelector('.list');