Browse Source

HW5,6 done

Aleksandrov96 2 years ago
parent
commit
46e1560295
2 changed files with 139 additions and 0 deletions
  1. 12 0
      homeWork5,6/index.html
  2. 127 0
      homeWork5,6/index.js

+ 12 - 0
homeWork5,6/index.html

@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>Document</title>
+</head>
+<body>
+    <script src='./index.js'></script>
+</body>
+</html>

+ 127 - 0
homeWork5,6/index.js

@@ -0,0 +1,127 @@
+let tasks = {
+    a: (value) => {
+        alert(value);
+    },
+    
+    cube: (a) => {
+        console.log(a ** 3);
+    },
+    
+    avg2: (a,b) => {
+        console.log((a + b) / 2);
+    },
+    
+    
+    sum3: (a,b,c = 0) => {
+        console.log(a + b + c);
+    },
+    
+    intRandom: (min, max = min) => {
+        console.log(Math.floor(Math.random() * (max - min + 1) + min)); 
+    },
+    
+    greetAll: (...args) => {
+        alert(`Hello ${args}`);
+    },
+    
+    sum: (...a) => {
+        let sum = 0;
+        for (let arg in a) {
+                sum += a[arg];
+        }
+        console.log(sum);
+    },
+};
+
+let sample = prompt("Введите название задания")
+switch (sample){
+    case "a": 
+        tasks.a("Привет!");
+    break
+
+    case "cube": 
+        tasks.cube(3);
+    break
+
+    case "avg2": 
+        tasks.avg2(1,2); 
+        tasks.avg2(10,5);
+
+    break
+    
+    case "sum3":
+        tasks.sum3(1,2,3);
+        tasks.sum3(5,10,100500);
+        tasks.sum3(5,10);
+    break
+
+    case "intRandom": 
+        tasks.intRandom(2, 15);
+        tasks.intRandom(-1,-1); 
+        tasks.intRandom(0,1); 
+        tasks.intRandom(10);
+    break
+
+    case "greetAll":
+        tasks.greetAll("Superman");
+        tasks.greetAll("Superman", "SpiderMan");
+        tasks.greetAll("Superman", "SpiderMan", "Captain Obvious");
+    break
+
+    case "sum":
+        tasks.sum(1);
+        tasks.sum(2); 
+        tasks.sum(10,20,40,100); 
+    break
+};
+
+// arr map
+let arr = ["1", {}, null, undefined, "500", 700];
+let newArr = arr.map((e) => typeof e === 'string' ? Number(e) : e);
+console.log(newArr);
+
+// array reduce
+let arr2 = ["0", 5, 3, "string", null];
+console.log(arr2.filter((n) => typeof n === 'number').reduce((a,b) => a * b));
+
+
+// object filter
+let phone = {
+    brand: "meizu",
+    model: "m2",
+    ram: 2,
+    color: "black",
+};
+
+filter = (obj, callback) => {
+    for (let key in obj){
+        callback(key, obj[key]) || delete obj[key];
+    }
+    console.log(obj);
+};
+
+filter(phone,(key,value) => key == "color" || value == 2);
+
+
+//object map
+map = (object, callback) => {
+    for (let key in object) {
+        let obj = callback(key, object[key])
+        delete object[key];
+        for (key in obj) {
+            object[key] = obj[key]
+        }
+    }
+};
+
+let object = {
+    name: 'Иван',
+    age: '17'
+};
+
+map({name: "Иван", age: 17},function(key,value){
+    var result = {};
+    result[key+"_"] = value + "$";
+    console.log(result);
+});
+