Browse Source

added hw7 done

makstravm 3 years ago
parent
commit
91e57579cb
2 changed files with 94 additions and 14 deletions
  1. 1 1
      HW7/index.html
  2. 93 13
      HW7/main.js

+ 1 - 1
HW7/index.html

@@ -9,7 +9,7 @@
 
 </head>
 
-<body>
+<body id="body">
   
   <script src="main.js"></script>
 </body>

+ 93 - 13
HW7/main.js

@@ -1,18 +1,98 @@
-var persons = [
-  { name: "Иван", age: 17 },
-  { name: "Мария", age: 35 },
-  { name: "Алексей", age: 73 },
-  { name: "Яков", age: 12 },
-]
+// var persons = [
+//   { name: "Иван", age: 17 },
+//   { name: "Мария", age: 35 },
+//   { name: "Алексей", age: 73 },
+//   { name: "Яков", age: 12 },
+// ]
 
-const sort = (obj, param, ascending = true) => obj.sort((a, b) => ascending ? (a[param] > b[param] ? 1 : -1) : (a[param] < b[param] ? 1 : -1))
+// const sort = (obj, param, ascending = true) => obj.sort((a, b) => ascending ? (a[param] > b[param] ? 1 : -1) : (a[param] < b[param] ? 1 : -1))
 
-// console.log(sort(persons, "name", false)); //сортирует по имени по убыванию
-// console.log(sort(persons, "age", true)); //сортирует по возрасту по возрастанию
+// // console.log(sort(persons, "name", false)); //сортирует по имени по убыванию
+// // console.log(sort(persons, "age", true)); //сортирует по возрасту по возрастанию
 
 
-let arrayMap = ["1", {}, null, undefined, "500", 700]
-let newArray = arrayMap.map(t => t === String(t) ? +t : t)
+// let arrayMap = ["1", {}, null, undefined, "500", 700]
+// let newArray = arrayMap.map(t => t === String(t) ? +t : t)
 
-let arrayrReduce = ["0", 5, 3, "string", null]
-let newarrayrReduce = arrayrReduce.reduce((a = 0, b) => typeof b === 'number' ? a * b : a, 1)
+// let arrayrReduce = ["0", 5, 3, "string", null]
+// let newarrayrReduce = arrayrReduce.reduce((a = 0, b) => typeof b === 'number' ? a * b : a, 1)
+
+
+// var phone = {
+//   brand: "meizu",
+//   model: "m2",
+//   ram: 2,
+//   color: "black",
+// };
+
+// function filter(obj, callback) {
+//   let result = {}
+//   for (const [key, value] of Object.entries(obj)) {
+//     if (callback(key, value)) {
+//       result[key] = value
+//     }
+//   }
+//   return result
+// }
+
+// filter(phone, (key, value) => key == "color" || value == 2)
+
+
+// function map(obj, callback) {
+//   let result = {}
+//   for (const [key, value] of Object.entries(obj)) {
+//     result = { ...result, ...callback(key, value) }
+//   }
+//   return result
+// }
+
+// map({ name: "Иван", age: 17 }, function (key, value) {
+//   var result = {};
+//   result[key + "_"] = value + "$";
+//   return result;
+// }) //должен вернуть {name_: "Иван$", age_: "17$"}
+
+
+// const arProgression = n => n <= 1 ? 1 : n + arProgression(n - 1)
+
+var someTree = {
+  tagName: "table", //html tag
+  children: [ //вложенные тэги
+    {
+      tagName: "tr",
+      children: [
+        {
+          tagName: "td",
+          text: "some text",
+        },
+        {
+          tagName: "td",
+          text: "some text 2",
+        }
+      ]
+    }
+  ],
+  attrs:
+  {
+    border: 1,
+  },
+}
+
+
+let table = ''
+walk(someTree)
+function walk(obj) {
+  debugger
+  for (var deep in obj) {
+    if (typeof (obj[deep]) === 'object') {
+      walk(obj[deep]);
+    } else {
+      if (deep === 'tagName') {
+        table += `<${obj[deep]}>`
+      } else if (deep === 'text') {
+        table += `${obj[deep]}`
+      }
+    }
+  }
+}
+document.write(table)