Browse Source

Обновить 'HW#8/hw8.js'

stas.vladlenko 1 year ago
parent
commit
4728611c81
1 changed files with 47 additions and 1 deletions
  1. 47 1
      HW#8/hw8.js

+ 47 - 1
HW#8/hw8.js

@@ -211,4 +211,50 @@ const sum = (start,step,finish) => {
     }
 }
 
-sum(7,5,15)
+sum(7,5,15)
+
+
+// HTML Tree ==============================================================================
+
+
+var someTree = {
+    tagName: "table", //html tag
+    subTags: [ //вложенные тэги
+        {
+                    tagName: "tr",
+                    subTags: [
+                        {
+                            tagName: "td",
+                            text: "some text",
+                        },
+                        {
+                            tagName: "td",
+                            text: "some text 2",
+                        }
+                    ]
+        }
+    ],
+    attrs: 
+    {
+        border: 1,
+    },
+}
+
+let result = ''
+const HTMLtree = (obj) => {
+
+    const openTag = '<' + obj.tagName  +  (obj.attrs? ' ' + Object.keys(obj.attrs) +  ' = ' + Object.values(obj.attrs): '') +  '>'
+    const closeTag = '</' + obj.tagName + '>'
+    const content = obj.text? obj.text: '' 
+    result += openTag + content
+
+    if(typeof(obj.subTags) === 'object'){
+        for (let value of obj.subTags){
+            HTMLtree(value)
+        }
+    }
+    result += closeTag 
+    return result
+    }
+
+HTMLtree(someTree)