Browse Source

adding homework7 + finishing homework5/homework6

Krabonub 6 years ago
parent
commit
7aafaa11e7
7 changed files with 196 additions and 24 deletions
  1. 0 0
      homework5/index.css
  2. 1 1
      homework5/index.html
  3. 28 22
      homework5/index.js
  4. 1 1
      homework6/index.html
  5. 68 0
      homework6/index.js
  6. 12 0
      homework7/index.html
  7. 86 0
      homework7/index.js

+ 0 - 0
homework5/index.css


+ 1 - 1
homework5/index.html

@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width">
-    <title>repl.it</title>
+    <title>homework5</title>
     <link href="index.css" rel="stylesheet" type="text/css" />
   </head>
   <body>

+ 28 - 22
homework5/index.js

@@ -1,4 +1,3 @@
-
 //3 persons
 
 var a={
@@ -49,9 +48,9 @@ var persons=[a,b,c,{name:"Inna",surname:"Kukushkina"}];
 for(var i=0;i<persons.length;i++){
   console.log(persons[i]);
 }
+console.log("///////////////////////////////////////////////////");
 
 //loop of fields loop of persons
-console.log("\n");
 for(var i=0;i<persons.length;i++){
   console.log("{");
   for(var key in persons[i]){
@@ -61,6 +60,7 @@ for(var i=0;i<persons.length;i++){
   }
   console.log("}");
 }
+console.log("///////////////////////////////////////////////////");
 
 //loop of loop of keys
 
@@ -74,6 +74,7 @@ for(var i=0;i<persons.length;i++){
   }
   console.log("}");
 }
+console.log("///////////////////////////////////////////////////");
 
 //loop of loop with optional fields
 
@@ -91,6 +92,7 @@ for(var i=0;i<persons.length;i++){
   }
   console.log("}");
 }
+console.log("///////////////////////////////////////////////////");
 
 //fullName
 
@@ -102,6 +104,7 @@ for(var i=0;i<persons.length;i++){
   }
     console.log(persons[i].fullName);
 }
+console.log("///////////////////////////////////////////////////");
 
 //serialize
 
@@ -111,6 +114,7 @@ for(var i=0;i<persons.length;i++){
 }
 
 //deserialize
+
 var personsDublicate=[];
 for(var i=0;i<strArr.length;i++){
   personsDublicate[i]=JSON.parse(strArr[i]);
@@ -119,26 +123,28 @@ console.log(personsDublicate[0]);
 persons[persons.length]=personsDublicate[0];
 console.log("");
 console.log(persons);
+console.log("///////////////////////////////////////////////////");
 
-//HTML
-
-var HTMLtable="<table><tr><th>Name</th><th>Surname</th></tr>";
+//HTML th optional + color
 
-for(var j=0;j<persons.length;j++)
-{
-   HTMLtable+="<tr><td>"+persons[j].name+"</td><td>"+persons[j].surname+"</td></tr>";
+var HTMLtableOptional="<table><style>table{border-spacing:0;font-family:sans-serif;}td,th{border:solid 1px silver;width:80px;color:gray;}th{background:silver;color:white;}</style>";
+var generalPerson={};
+for(var i=0;i<persons.length;i++){
+  for(var key in persons[i]){
+    generalPerson[key]=persons[i][key];
+  }
 }
-document.write(HTMLtable);
-
-//HTML tr color
-
-
-
-
-
-
-
-
-
-
-
+HTMLtableOptional+="<tr>";
+for(var i=0;i<Object.keys(generalPerson).length;i++){
+  HTMLtableOptional+="<th>"+Object.keys(generalPerson)[i]+"</th>";
+}
+HTMLtableOptional+="</tr>";
+for(var i=0;i<persons.length;i++){
+  HTMLtableOptional+="<tr>";
+  for(var key in generalPerson){
+    persons[i][key] ? HTMLtableOptional+="<td>"+persons[i][key]+"</td>" : HTMLtableOptional+="<td></td>";
+  }
+  HTMLtableOptional+="</tr>";
+}
+HTMLtableOptional+="</table>";
+document.write(HTMLtableOptional);

+ 1 - 1
homework6/index.html

@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width">
-    <title>repl.it</title>
+    <title>homework6</title>
     <link href="index.css" rel="stylesheet" type="text/css" />
   </head>
   <body>

+ 68 - 0
homework6/index.js

@@ -1,20 +1,24 @@
 
 //a
+
 function a(str){
   alert(str);
 }
 
 //cube
+
 function cube(num){
   return Math.pow(num,3);
 }
 
 //avg2
+
 function avg2(num1,num2){
   return (num1+num2)/2;
 }
 
 //sum3
+
 function sum3(num1,num2,num3){
   if(!num3){
     num3=0;
@@ -23,6 +27,7 @@ function sum3(num1,num2,num3){
 }
 
 //intRandom
+
 function intRandom(min,max){
   if(!max){
     max=min;
@@ -32,6 +37,7 @@ function intRandom(min,max){
 }
 
 //greetAll
+
 function greetAll(){
   var str="Hello";
   for(var i=0;i<arguments.length;i++){
@@ -41,6 +47,7 @@ function greetAll(){
 }
 
 //sum
+
 function sum(){
   var tmp=0;
   for(var i=0;i<arguments.length;i++){
@@ -50,6 +57,7 @@ function sum(){
 }
 
 //avg
+
 function avg(){
   var tmp=0;
   for(var i=0;i<arguments.length;i++){
@@ -59,6 +67,7 @@ function avg(){
 }
 
 //Union
+
 var choise=prompt("Введите имя функции: [a,cube,avg2,sum3,intRandom,greetAll,sum,avg]");
 switch(choise){
   case "a":
@@ -94,7 +103,9 @@ switch(choise){
     break; 
     
 }
+
 //Union declarative
+
 var declUnion={
   "a":a,
   "cube":cube,
@@ -106,6 +117,63 @@ var declUnion={
   "avg":avg
 };
 
+//Person category
+
+var person = {
+  name:"Andrey",
+  surname:"Andreyenko",
+  fathername:"Andreyevich",
+  age: 50,
+  getAgeCategory: function(){
+    var category="";
+    if(this.age<13){
+      category="kid";
+    }
+    else{
+      if(this.age<20){
+        category="teenager";
+      }
+      else{
+        if(this.age<30){
+          category="young";
+        }
+        else{
+          if(this.age<50){
+            category="middle-aged";
+          }
+          else{
+            if(this.age<90){
+              category="old";
+            }
+            else{
+              if(this.age<115){
+                category="the eldest";
+              }
+              else{
+                category="phenomenon";
+              }
+            }
+          }
+        }
+      }
+    }
+    return category;
+  }
+};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 

+ 12 - 0
homework7/index.html

@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width">
+    <title>homework7</title>
+    <link href="index.css" rel="stylesheet" type="text/css" />
+  </head>
+  <body>
+    <script src="index.js"></script>
+  </body>
+</html>

+ 86 - 0
homework7/index.js

@@ -0,0 +1,86 @@
+//sort
+
+function sort(array, fildname ,direction){
+  function compare(a, b)
+  {
+    var result = a[fildname] > b[fildname] ? 1 : -1;
+    direction ? result = result : result = -result;
+    return result;
+  }
+  array.sort(compare);
+}
+
+var persons = [
+    {name: "Иван", age: 17},
+    {name: "Мария", age: 35},
+    {name: "Алексей", age: 73},
+    {name: "Яков", age: 12}
+];
+sort(persons, "age", true); //сортирует по возрасту по возрастанию
+sort(persons, "name", false); //сортирует по имени по убыванию
+
+//array map
+
+function toNumber(currentValue){
+  return typeof(currentValue)=="string"?+currentValue : currentValue;
+}
+
+var array=["1", {}, null, undefined, "500", 700];
+console.log(array.map(toNumber));
+
+//array reduce
+
+array=["0", 5, 3, "string", null];
+function mult(a,b){
+  if(typeof(a)!="number")
+  {
+    a=1;
+  }
+  if(typeof(b)!="number")
+  {
+    b=1;
+  }
+  return a*b;
+}
+var red=array.reduce(mult);
+
+//object filter
+function filter(obj,func){
+  var newObj={};
+  for(var key in obj){
+    if( func( key, obj[key] ) )
+    {
+      newObj[key]=obj[key];
+    }
+  }
+  return newObj;
+}
+var phone = {
+    brand: "meizu",
+    model: "m2",
+    ram: 2,
+    color: "black",
+};
+var newObject=filter(phone,function(key,value){return (key == "color" || value == 2)});
+
+//object map
+function map(obj,func){
+  var newObject={};
+  for(var key in obj){
+    newObject[Object.keys(func(key,obj[key]))[0]]=func(key,obj[key])[Object.keys(func(key,obj[key]))[0]];
+  }
+  return newObject;
+}
+var objMap=map({name: "Иван", age: 17},function(key,value){
+    var result = {};
+    result[key+"_"] = value + "$";
+    return result;
+});
+
+
+
+
+
+
+
+