script.js 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. // const array = [];
  2. // for (let i = 0; i < 10; i++) {
  3. // array.push(i);
  4. // }
  5. // for (let i = 1; i < array.length; i++) {
  6. // array[i] = array[i] + array[i - 1];
  7. // }
  8. // console.log(array);
  9. // 3 persons
  10. // const a = {
  11. // name: "Anatoliy",
  12. // surname: "Stateham",
  13. // };
  14. // const b = {
  15. // name: "Arnold",
  16. // surname: "Hudoba",
  17. // };
  18. // const c = {
  19. // name: "Stepan",
  20. // surname: "Johnson",
  21. // };
  22. // different fields
  23. // a.age = 16;
  24. // a.fathername = "Andreevich";
  25. // a.sex = "male";
  26. // b.age = 25;
  27. // b.fathername = "Bogdanovich";
  28. // b.sex = "male";
  29. // c.age = 18;
  30. // c.fathername = "Vasilevich";
  31. // c.sex = "male";
  32. // fields check
  33. // if ("age" in a) {
  34. // alert("Optional field 'age' found in object a");
  35. // }
  36. // if ("fathername" in a) {
  37. // alert("Optional field 'fathername' found in object a");
  38. // }
  39. // if ("sex" in a) {
  40. // alert("Optional field 'sex' found in object a");
  41. // }
  42. // if ("age" in b) {
  43. // alert("Optional field 'age' found in object b");
  44. // }
  45. // if ("fathername" in b) {
  46. // alert("Optional field 'fathername' found in object b");
  47. // }
  48. // if ("sex" in b) {
  49. // alert("Optional field 'sex' found in object b");
  50. // }
  51. // if ("age" in c) {
  52. // alert("Optional field 'age' found in object c");
  53. // }
  54. // if ("fathername" in c) {
  55. // alert("Optional field 'fathername' found in object c");
  56. // }
  57. // if ("sex" in c) {
  58. // alert("Optional field 'sex' found in object c");
  59. // }
  60. // array of persons
  61. // const persons = [];
  62. // persons.push(a, b, c);
  63. // persons.push({
  64. // name: "Semen",
  65. // surname: "Harrington",
  66. // age: 30,
  67. // fathername: "Sergeevich",
  68. // sex: "male",
  69. // });
  70. // loop of persons
  71. // for (let person in persons) {
  72. // console.log(person);
  73. // }
  74. // loop of name and surname
  75. // for (let person in persons) {
  76. // console.log(person.name, person.surname);
  77. // }
  78. // loop of loop of values
  79. // let count = 0;
  80. // for (let person in persons) {
  81. // console.log(`--- ${++count} object ---`);
  82. // for (key in persons[person]) {
  83. // console.log(`${key}: ${persons[person][key]}`);
  84. // }
  85. // }
  86. // fullName
  87. // for (let person in persons) {
  88. // for (key in persons[person]) {
  89. // if (!persons[person]?.fathername) {
  90. // persons[
  91. // person
  92. // ].fullName = `${persons[person].name} ${persons[person].surname}`;
  93. // } else {
  94. // persons[
  95. // person
  96. // ].fullName = `${persons[person].name} ${persons[person].surname} ${persons[person].fathername}`;
  97. // }
  98. // }
  99. // }
  100. // console.log(persons);
  101. // serialize
  102. // const stringPersons = JSON.stringify(persons);
  103. // console.log(stringPersons);
  104. // deserialize
  105. // let personString =
  106. // '{"name":"Mariya","surname":"Gordon","age":26,"sex":"female","fullName":"Mariya Gordon"}';
  107. // persons.push(JSON.parse(personString));
  108. // console.log(persons);
  109. // HTML && HTML optional fields && HTML tr color && HTML th optional
  110. // let countHTML = 0;
  111. // for (let person in persons) {
  112. // let strObj = `<table border='1' class='obj${++countHTML}' style='margin: 1vh'>`;
  113. // strObj += `<caption>${countHTML} object in persons</caption>`;
  114. // for (let [key, value] of Object.entries(persons[person])) {
  115. // strObj += "<tr>";
  116. // strObj += "<td>";
  117. // strObj += key[0].toUpperCase() + key.slice(1);
  118. // strObj += "</td>";
  119. // strObj += "<td>";
  120. // strObj += value;
  121. // strObj += "</td>";
  122. // strObj += "</tr>";
  123. // }
  124. // strObj += "</table>";
  125. // document.write(strObj);
  126. // }
  127. // Задание на синий пояс.
  128. // const someTree = {
  129. // tagName: "table", //html tag
  130. // subTags: [
  131. // //вложенные тэги
  132. // {
  133. // tagName: "tr",
  134. // subTags: [
  135. // {
  136. // tagName: "td",
  137. // text: "some text",
  138. // },
  139. // {
  140. // tagName: "td",
  141. // text: "some text 2",
  142. // },
  143. // ],
  144. // },
  145. // ],
  146. // attrs: {
  147. // border: 1,
  148. // },
  149. // };
  150. // let constructor = "";
  151. // let countTables = 0;
  152. // constructor += `<${someTree.tagName} ${[...Object.keys(someTree.attrs)]}='${
  153. // someTree.attrs.border
  154. // }' class='obj${++countTables}' style='margin: 1vh;'>`;
  155. // constructor += `<${someTree.subTags[0].tagName}>`;
  156. // // -----
  157. // constructor += `<${someTree.subTags[0].subTags[0].tagName}>`;
  158. // constructor += `${someTree.subTags[0].subTags[0].text}`;
  159. // constructor += `</${someTree.subTags[0].subTags[0].tagName}>`;
  160. // // -----
  161. // constructor += `<${someTree.subTags[0].subTags[1].tagName}>`;
  162. // constructor += `${someTree.subTags[0].subTags[1].text}`;
  163. // constructor += `</${someTree.subTags[0].subTags[1].tagName}>`;
  164. // // -----
  165. // constructor += `</${someTree.subTags[0].tagName}>`;
  166. // constructor += `</${someTree.tagName}>`;
  167. // document.write(constructor); // данный конструктор не гибкий, работает пока-что только для заданного варианта, в дальнейшем, сделаю конструктор гибким
  168. // destruct array
  169. // let arr = [1, 2, 3, 4, 5, "a", "b", "c"];
  170. // let [odd1, even1, odd2, even2, odd3, ...letters] = arr;
  171. // console.log(odd1, even1, odd2, even2, odd3, letters);
  172. // destruct string
  173. // let arr = [1, "abc"];
  174. // let [number, [...[s1, s2, s3]]] = arr;
  175. // console.log(number, s1, s2, s3);
  176. // destruct 2
  177. // let obj = {
  178. // name: "Ivan",
  179. // surname: "Petrov",
  180. // children: [{ name: "Maria" }, { name: "Nikolay" }],
  181. // };
  182. // let { name: nameObj, sursname: surnameObj, children: childrenNames } = obj;
  183. // let [{ name: name1 }, { name: name2 }] = childrenNames;
  184. // console.log(name1, name2);
  185. // destruct 3
  186. // let arr = [1, 2, 3, 4, 5, 6, 7, 10];
  187. // let { 0: a, 1: b, length } = arr;
  188. // console.log(a, b, length);