Browse Source

HW11 done

maryluis 4 years ago
parent
commit
3df3f65009
2 changed files with 133 additions and 4 deletions
  1. 2 2
      homework11js/exersices.html
  2. 131 2
      homework11js/script.js

+ 2 - 2
homework11js/exersices.html

@@ -3,10 +3,10 @@
 <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <script src="./script.js"></script>
+
     <title>homework11</title>
 </head>
 <body>
-    
+    <script src="./script.js"></script>
 </body>
 </html>

+ 131 - 2
homework11js/script.js

@@ -58,7 +58,7 @@ let newArray = array.map(function (num) {
     return num
 
 })
-//console.log(newArray)
+console.log(newArray)
 
 
 //Array reduce
@@ -75,4 +75,133 @@ let result = reduceArray.reduce(function(a, b){
     }
     return a
 })
-console.log(result)
+console.log(result)
+
+
+////Array filter
+var phone = {
+    brand: "meizu",
+    model: "m2",
+    ram: 2,
+    color: "black",
+};
+
+
+
+
+
+function filter(obj, funk) {
+    let rest = {}
+    for (let key in obj){
+        if (funk(key, obj[key])){
+            rest[key] = obj[key]
+        }
+    }
+    return rest
+}
+console.log(filter(phone,(key,value) => key == "color" || value == 2));
+
+
+///Array map
+
+function map(obj, funk) {
+    
+    let newObj = {}
+    for (let key in obj){
+        let temp = funk(key, obj[key]);
+        
+        for(let _key in temp) {
+            newObj[_key] = temp[_key];
+        }
+    
+    }
+    return newObj
+
+}
+
+
+console.log(map({name: "Иван", age: 17},function(key,value){
+    var result = {};
+    result[key+"_"] = value + "$";
+    return result;
+}))
+
+////Sum
+//Не поняла точно задания, потому написала два варианта
+
+function sumRecurs(a, b, c){
+
+    a += b;
+    if(a < c) {
+       return sumRecurs(a, b, c)
+    }
+    return a
+
+}
+console.log(sumRecurs(2, 4, 16))
+
+
+function sumRecurs2 (a, b, c) {
+
+    if(c > 0) {
+        a += b;
+        c = c - 1
+       return sumRecurs2(a, b, c)
+    }
+    return a
+
+}
+
+console.log(sumRecurs2(2, 4, 5)) 
+
+
+//toHtml
+///уже вроде делала
+var someTree = {
+    tagName: "table", //html tag
+    subTags: [ //вложенные тэги
+        {
+            tagName: "tr",
+            subTags: [
+                {
+                tagName: "td",
+                text: "some text",
+                },
+                {
+                tagName: "td",
+                text: "some text 2",
+                }
+            ]
+        }
+    ],
+    attrs: 
+    {
+        border: 1,
+    },
+}
+
+
+function toHtml(obj) {
+    debugger
+
+    var element = document.createElement(obj.tagName);
+    
+    if (obj.text) {
+        element.innerHTML = obj.text          
+    }
+
+    if (obj.attrs) {
+        for (let key in obj.attrs)  {
+            element[key] = obj.attrs[key]
+        }
+    }
+        
+    if (obj.subTags) {
+        for (let i = 0; i < obj.subTags.length; i++) {
+            element.appendChild(toHtml(obj.subTags[i]));
+        }
+    }
+
+    return element;
+}
+ //document.body.appendChild(toHtml(someTree));