Browse Source

homework5 done

holevchuk.evgeny 1 year ago
parent
commit
68b55d9e4a

+ 28 - 0
hw05/10_deserialize.js

@@ -0,0 +1,28 @@
+let persons = [
+	{
+		name: 'Sergey',
+		surname: 'Honcharenko',
+		age: 28,
+		isMarried: false,
+	},
+	{
+		name: 'Andrew',
+		surname: 'Klymchuk',
+		middleName: 'Anatoliyovych',
+		haveAJob: true,
+	},
+	{
+		name: 'Alexander',
+		surname: 'Slobodian',
+		sex: 'male',
+		hasAPet: false,
+	}
+]
+
+let parsedPerson = JSON.parse('{"name":"Elena","surname":"Mospanyuk","education":true,"height":170}');
+
+console.log(persons.concat(parsedPerson));
+
+// или
+
+console.log(Object.assign(persons, parsedPerson));

+ 25 - 0
hw05/11_HTML.html

@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="UTF-8">
+	<title>Title</title>
+	<style>
+        table {
+            width: 400px;
+            height: 400px;
+            border: 1px solid red;
+            text-align: center;
+            border-collapse: collapse;
+            table-layout: fixed;
+        }
+
+        td, th {
+            border: 1px solid red;
+        }
+	</style>
+</head>
+<body>
+
+<script src="11_HTML.js"></script>
+</body>
+</html>

+ 31 - 0
hw05/11_HTML.js

@@ -0,0 +1,31 @@
+let persons = [
+	{
+		name: 'Sergey',
+		surname: 'Honcharenko',
+		age: 28,
+		isMarried: false,
+	},
+	{
+		name: 'Andrew',
+		surname: 'Klymchuk',
+		middleName: 'Anatoliyovych',
+		haveAJob: true,
+	},
+	{
+		name: 'Alexander',
+		surname: 'Slobodian',
+		sex: 'male',
+		hasAPet: false,
+	}
+]
+
+let str = "<table>"
+for (let key in persons) {
+	str += `<tr>
+				<td>${persons[key].name}</td>
+				<td>${persons[key].surname}</td>
+			</tr>`;
+}
+str += "</table>";
+
+document.write(str);

+ 25 - 0
hw05/12_HTML_optional_fields.html

@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <title>Title</title>
+  <style>
+    table {
+      width: 400px;
+      height: 400px;
+      border: 1px solid red;
+      text-align: center;
+      border-collapse: collapse;
+      table-layout: fixed;
+    }
+
+    td, th {
+      border: 1px solid red;
+    }
+  </style>
+</head>
+<body>
+
+<script src="12_HTML_optional_fields.js"></script>
+</body>
+</html>

+ 32 - 0
hw05/12_HTML_optional_fields.js

@@ -0,0 +1,32 @@
+let persons = [
+	{
+		name: 'Sergey',
+		surname: 'Honcharenko',
+		age: 28,
+		isMarried: false,
+	},
+	{
+		name: 'Andrew',
+		surname: 'Klymchuk',
+		middleName: 'Anatoliyovych',
+		haveAJob: true,
+	},
+	{
+		name: 'Alexander',
+		surname: 'Slobodian',
+		sex: 'male',
+		hasAPet: false,
+	}
+];
+
+let str = "<table>";
+for (let key in persons) {
+	str += "<tr>";
+	for (let value in persons[key]) {
+		str += `<td>${persons[key][value]}</td>`;
+	}
+	str += "</tr>";
+}
+str += "</table>";
+
+document.write(str);

+ 25 - 0
hw05/13_HTML_tr_color.html

@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <title>Title</title>
+  <style>
+    table {
+      width: 400px;
+      height: 400px;
+      border: 1px solid red;
+      text-align: center;
+      border-collapse: collapse;
+      table-layout: fixed;
+    }
+
+    td, th {
+      border: 1px solid red;
+    }
+  </style>
+</head>
+<body>
+
+<script src="13_HTML_tr_color.js"></script>
+</body>
+</html>

+ 32 - 0
hw05/13_HTML_tr_color.js

@@ -0,0 +1,32 @@
+let persons = [
+	{
+		name: 'Sergey',
+		surname: 'Honcharenko',
+		age: 28,
+		isMarried: false,
+	},
+	{
+		name: 'Andrew',
+		surname: 'Klymchuk',
+		middleName: 'Anatoliyovych',
+		haveAJob: true,
+	},
+	{
+		name: 'Alexander',
+		surname: 'Slobodian',
+		sex: 'male',
+		hasAPet: false,
+	}
+];
+
+let str = "<table>";
+for (let key in persons) {
+	str += `<tr style="background-color: ${(key % 2 === 0) ? '#ceedce' : '#ddafaf'}">`;
+	for (let value in persons[key]) {
+		str += `<td>${persons[key][value]}</td>`;
+	}
+	str += "</tr>";
+}
+str += "</table>";
+
+document.write(str);

+ 24 - 0
hw05/14_HTML_th_optional.html

@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="UTF-8">
+	<title>Title</title>
+	<style>
+        table {
+            width: 1000px;
+            border: 1px solid red;
+            text-align: center;
+            border-collapse: collapse;
+            table-layout: fixed;
+        }
+
+        td, th {
+            border: 1px solid red;
+        }
+	</style>
+</head>
+<body>
+
+<script src="14_HTML_th_optional.js"></script>
+</body>
+</html>

+ 52 - 0
hw05/14_HTML_th_optional.js

@@ -0,0 +1,52 @@
+let persons = [
+	{
+		name: 'Sergey',
+		surname: 'Honcharenko',
+		age: 28,
+		isMarried: false,
+	},
+	{
+		name: 'Andrew',
+		surname: 'Klymchuk',
+		middleName: 'Anatoliyovych',
+		haveAJob: true,
+	},
+	{
+		name: 'Alexander',
+		surname: 'Slobodian',
+		sex: 'male',
+		hasAPet: false,
+	}
+];
+
+let personsKeys = [];
+
+for (let key in persons) {
+	for (let value in persons[key]) {
+		personsKeys.push(value);
+	}
+}
+
+let personsUniqueKeys = new Set(personsKeys);
+
+let str = "<table>";
+str += `<thead><tr>`;
+personsUniqueKeys.forEach(item => {
+	str += `<th>${item}</th>`;
+});
+str += "</thead></tr>";
+for (let key in persons) {
+	str += `<tr>`;
+	for (let personsKey in [...personsUniqueKeys]) {
+		if(Object.keys(persons[key]).includes([...personsUniqueKeys][personsKey])) {
+			str += `<td>${persons[key][[...personsUniqueKeys][personsKey]]}</td>`
+		} else {
+			str += `<td>-</td>`
+		}
+	}
+	str += "</tr>";
+}
+
+str += "</table>";
+
+document.write(str);

+ 8 - 0
hw05/16_destruct_array.js

@@ -0,0 +1,8 @@
+let [odd1, even1, odd2, even2, odd3, ...rest] = [1,2,3,4,5, "a", "b", "c"]
+
+console.log(odd1); // 1
+console.log(even1); // 2
+console.log(odd2); // 3
+console.log(even2); // 4
+console.log(odd3); // 5
+console.log(rest); // [ 'a', 'b', 'c' ]

+ 6 - 0
hw05/17_destruct_string.js

@@ -0,0 +1,6 @@
+let [number, [s1, s2, s3]] = [1, "abc"];
+
+console.log(number);
+console.log(s1);
+console.log(s2);
+console.log(s3);

+ 13 - 0
hw05/18_destruct_2.js

@@ -0,0 +1,13 @@
+let obj = {
+	name: 'Ivan',
+	surname: 'Petrov',
+	children: [
+		{name: 'Maria'},
+		{name: 'Nikolay'}
+	]
+}
+
+const {children: [{name: name1}, {name: name2}]} = obj;
+
+console.log(name1) // Maria;
+console.log(name2) // Nikolay;

+ 7 - 0
hw05/19_destruct_3.js

@@ -0,0 +1,7 @@
+let arr = [1,2,3,4, 5,6,7,10];
+
+let {0: a, 1: b, length = arr.length} = arr;
+
+console.log(a); // 1
+console.log(b); // 2
+console.log(length); // 8

+ 14 - 0
hw05/1_3_persons.js

@@ -0,0 +1,14 @@
+let a = {
+	name: 'Sergey',
+	surname: 'Honcharenko',
+}
+
+let b = {
+	name: 'Andrew',
+	surname: 'Klymchuk',
+}
+
+let c = {
+	name: 'Alexander',
+	surname: 'Slobodian',
+}

+ 20 - 0
hw05/2_different_fields.js

@@ -0,0 +1,20 @@
+let a = {
+	name: 'Sergey',
+	surname: 'Honcharenko',
+	age: 28,
+	isMarried: false,
+}
+
+let b = {
+	name: 'Andrew',
+	surname: 'Klymchuk',
+	middleName: 'Anatoliyovych',
+	haveAJob: true,
+}
+
+let c = {
+	name: 'Alexander',
+	surname: 'Slobodian',
+	sex: 'male',
+	hasAPet: false,
+}

+ 44 - 0
hw05/3_fields_check.js

@@ -0,0 +1,44 @@
+let a = {
+	name: 'Sergey',
+	surname: 'Honcharenko',
+	age: 28,
+	isMarried: false,
+}
+
+let b = {
+	name: 'Andrew',
+	surname: 'Klymchuk',
+	middleName: 'Anatoliyovych',
+	haveAJob: true,
+}
+
+let c = {
+	name: 'Alexander',
+	surname: 'Slobodian',
+	sex: 'male',
+	hasAPet: false,
+}
+
+if('age' in a) {
+	alert('age');
+}
+
+if('isMarried' in a) {
+	alert('isMarried');
+}
+
+if('middleName' in b) {
+	alert('middleName');
+}
+
+if('haveAJob' in b) {
+	alert('haveAJob');
+}
+
+if('sex' in c) {
+	alert('sex');
+}
+
+if('hasAPet' in c) {
+	alert('hasAPet');
+}

+ 20 - 0
hw05/4_array_of_persons.js

@@ -0,0 +1,20 @@
+let persons = [
+	{
+		name: 'Sergey',
+		surname: 'Honcharenko',
+		age: 28,
+		isMarried: false,
+	},
+	{
+		name: 'Andrew',
+		surname: 'Klymchuk',
+		middleName: 'Anatoliyovych',
+		haveAJob: true,
+	},
+	{
+		name: 'Alexander',
+		surname: 'Slobodian',
+		sex: 'male',
+		hasAPet: false,
+	}
+]

+ 24 - 0
hw05/5_loop_of_persons.js

@@ -0,0 +1,24 @@
+let persons = [
+	{
+		name: 'Sergey',
+		surname: 'Honcharenko',
+		age: 28,
+		isMarried: false,
+	},
+	{
+		name: 'Andrew',
+		surname: 'Klymchuk',
+		middleName: 'Anatoliyovych',
+		haveAJob: true,
+	},
+	{
+		name: 'Alexander',
+		surname: 'Slobodian',
+		sex: 'male',
+		hasAPet: false,
+	}
+]
+
+for (let i = 0; i <= persons.length; i++) {
+	console.log(persons[i]);
+}

+ 24 - 0
hw05/6_loop_of_name_and_surname.js

@@ -0,0 +1,24 @@
+let persons = [
+	{
+		name: 'Sergey',
+		surname: 'Honcharenko',
+		age: 28,
+		isMarried: false,
+	},
+	{
+		name: 'Andrew',
+		surname: 'Klymchuk',
+		middleName: 'Anatoliyovych',
+		haveAJob: true,
+	},
+	{
+		name: 'Alexander',
+		surname: 'Slobodian',
+		sex: 'male',
+		hasAPet: false,
+	}
+]
+
+for (let key in persons) {
+	console.log(persons[key].name, persons[key].surname);
+}

+ 32 - 0
hw05/7_loop_of_loop_of_values.js

@@ -0,0 +1,32 @@
+let persons = [
+	{
+		name: 'Sergey',
+		surname: 'Honcharenko',
+		age: 28,
+		isMarried: false,
+	},
+	{
+		name: 'Andrew',
+		surname: 'Klymchuk',
+		middleName: 'Anatoliyovych',
+		haveAJob: true,
+	},
+	{
+		name: 'Alexander',
+		surname: 'Slobodian',
+		sex: 'male',
+		hasAPet: false,
+	}
+]
+
+for (let key in persons) {
+	for (let value in persons[key]) {
+		console.log(persons[key][value])
+	}
+}
+
+// или
+
+for (let item of Object.entries(persons)) {
+	console.log(Object.values(item[1]))
+}

+ 28 - 0
hw05/8_fullName.js

@@ -0,0 +1,28 @@
+let persons = [
+	{
+		name: 'Sergey',
+		surname: 'Honcharenko',
+		age: 28,
+		isMarried: false,
+	},
+	{
+		name: 'Andrew',
+		surname: 'Klymchuk',
+		middleName: 'Anatoliyovych',
+		haveAJob: true,
+	},
+	{
+		name: 'Alexander',
+		surname: 'Slobodian',
+		sex: 'male',
+		hasAPet: false,
+	}
+]
+
+for (let key in persons) {
+	if('name' in persons[key] && 'surname' in persons[key] && 'middleName' in persons[key]) {
+		persons[key].fullName = `${persons[key].surname} ${persons[key].name} ${persons[key].middleName}`;
+	}
+}
+
+console.log(persons);

+ 22 - 0
hw05/9_serialize.js

@@ -0,0 +1,22 @@
+let persons = [
+	{
+		name: 'Sergey',
+		surname: 'Honcharenko',
+		age: 28,
+		isMarried: false,
+	},
+	{
+		name: 'Andrew',
+		surname: 'Klymchuk',
+		middleName: 'Anatoliyovych',
+		haveAJob: true,
+	},
+	{
+		name: 'Alexander',
+		surname: 'Slobodian',
+		sex: 'male',
+		hasAPet: false,
+	}
+]
+
+console.log(JSON.stringify(persons));