main.js 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. // Task 3 persons
  2. let a = {
  3. name: "Vika",
  4. surname: "Yurchenko",
  5. };
  6. let b = {
  7. name: "Ivan",
  8. surname: "Ivanov",
  9. };
  10. let c = {
  11. name: "Petro",
  12. surname: "Petrov",
  13. };
  14. // Task different fields
  15. a.age = "15";
  16. b.fathername = "Petrovna";
  17. c.sex = "m";
  18. //Task fields check
  19. // let result = typeof(a.key);
  20. // alert(result);
  21. // if ('key' in a) {
  22. // alert('yes');
  23. // };
  24. //Task array of persons
  25. let persons = [{name: "Dima", surname: "Dimon"}];
  26. persons.push(a, b, c);
  27. //Task loop of persons
  28. // for (let i = 0; i < persons.length; i++) {
  29. // console.log(persons[i]);
  30. // };
  31. //Task loop of name and surname
  32. // for (let i = 0; i < persons.length; i++) {
  33. // let name = persons[i].name;
  34. // let surname = persons[i].surname;
  35. // console.log( name, surname);
  36. // };
  37. //Task loop of loop of values
  38. // for (let i = 0; i < persons.length; i++) {
  39. // let vallues = persons[i];
  40. // for (key in persons[i] ) { c
  41. // console.log(persons[i][key]);
  42. // };
  43. // };
  44. // Task fullName
  45. // for (let i = 0; i < persons.length; i++ ) {
  46. // if (persons[i].name && persons[i].surname) {
  47. // persons[i].fullName = '';
  48. // };
  49. // };
  50. // console.log(persons);
  51. //Task serialize
  52. // let stringJson = JSON.stringify(persons);
  53. // console.log(stringJson);
  54. //Task deserialize
  55. // let strJson = '{"name": "Vova", "surname": "Vovanov"}';
  56. // persons.push( JSON.parse(strJson) );
  57. // console.log(persons);
  58. //Task HTML
  59. // var str = "<table border='1'>"
  60. // for (let i=0;i < persons.length; i++){
  61. // str += '<tr>';
  62. // for (key in persons[i]) {
  63. // str += `<th> ${key}<th> <th> ${persons[i][key]} </th>`;
  64. // };
  65. // str +='</tr>' ;
  66. // };
  67. // str += "</table>"
  68. // console.log(str);
  69. // document.write(str);
  70. // Task HTML tr color
  71. // var str = "<table border='1'>"
  72. // for (let i=0;i < persons.length; i++){
  73. // let tr = '<tr>';
  74. // if (i % 2 == 0) {
  75. // tr = '<tr style="background-color: red">';
  76. // str += tr;
  77. // };
  78. // if (i % 2 != 0 ) {
  79. // str += tr;
  80. // };
  81. // for (key in persons[i]) {
  82. // str += `<th> ${key}<th> <th> ${persons[i][key]} </th>`;
  83. // };
  84. // str += '</tr>';
  85. // };
  86. // str += "</table>"
  87. // console.log(str);
  88. // document.write(str);
  89. //Task HTML th optional
  90. // let str = "<table border='1'>";
  91. // let tr = '<tr>';
  92. // let property = [];
  93. // for (let i = 0; i < persons.length; i++ ) {
  94. // for (key in persons[i]) {
  95. // property.push(key);
  96. // };
  97. // };console.log(property);
  98. // let propertyFiltr = property.filter(function(item, pos) {
  99. // return property.indexOf(item) == pos;
  100. // }); console.log(propertyFiltr);
  101. // str += tr;
  102. // for (let i = 0; i < propertyFiltr.length; i++){
  103. // str += `<th> ${propertyFiltr[i]} </th>`;
  104. // };
  105. // str +='</tr>';
  106. // for (let i = 0; i < persons.length; i++) {
  107. // str += tr;
  108. // for (let q = 0; q < propertyFiltr.length; q++) {
  109. // if(persons[i][propertyFiltr[q]] != undefined) {
  110. // str += `<td> ${persons[i][propertyFiltr[q]]} </td>`;
  111. // };
  112. // if(persons[i][propertyFiltr[q]] == undefined) {
  113. // str += `<td> - </td>`;
  114. // };
  115. // };
  116. // str += '</tr>';
  117. // };
  118. // str += "</table>";
  119. // console.log(str);
  120. // document.write(str);
  121. //Task Задание на синий пояс.
  122. // function changeObjInHtmlTree (obj) {
  123. // let str = '';
  124. // let {tagName, subTags, text, attrs} = obj;
  125. // str += `<${tagName} `;
  126. // if (attrs){
  127. // for (let [key, value] of Object.entries(attrs)){
  128. // str += `${key} = ${value}`;
  129. // };
  130. // };
  131. // str += `>`;
  132. // if (text) {
  133. // str += `${text}`;
  134. // };
  135. // if (subTags) {
  136. // let children = subTags;
  137. // for (let i = 0; i < children.length; i++) {
  138. // let {tagName, subTags, text, attrs} = children[i];
  139. // str += `<${tagName}`;
  140. // if (attrs){
  141. // for (let [key, value] of Object.entries(attrs)){
  142. // str += `${key} = ${value}`;
  143. // };
  144. // };
  145. // if (text) {
  146. // str += `${text}`;
  147. // };
  148. // str += `>`;
  149. // if (subTags) {
  150. // let children1 = subTags;
  151. // for (let q = 0; q < children1.length; q++){
  152. // let {tagName, subTags, text, attrs} = children1[q];
  153. // str += `<${tagName}> `;
  154. // if (attrs){
  155. // for (let [key, value] of Object.entries(attrs)){
  156. // str += `${key} = ${value}`;
  157. // };
  158. // };
  159. // if (text) {
  160. // str += `${text}`;
  161. // };
  162. // str += `</${tagName}>\n`;
  163. // };
  164. // str += `</${tagName}>\n`;
  165. // };
  166. // };
  167. // };
  168. // str += `</${tagName}>`;
  169. // return (console.log(str));
  170. // };
  171. // var someTree = {
  172. // tagName: "table", //html tag
  173. // subTags: [ //вложенные тэги
  174. // {
  175. // tagName: "tr",
  176. // subTags: [
  177. // {
  178. // tagName: "td",
  179. // text: "some text",
  180. // },
  181. // {
  182. // tagName: "td",
  183. // text: "some text 2",
  184. // }
  185. // ]
  186. // }
  187. // ],
  188. // attrs:
  189. // {
  190. // border: 1,
  191. // },
  192. // };
  193. // changeObjInHtmlTree(someTree);
  194. //Task destruct array
  195. // let arr = [1,2,3,4,5, "a", "b", "c"];
  196. // let [ odd1, even1, odd2, even2, odd3, ...arr1] = arr;
  197. //Task destruct string
  198. // let arr = [1, "abc"];
  199. // let [number, [s1, s2, s3] ] = arr;
  200. //Task destruct 2
  201. // let obj = {name: 'Ivan',
  202. // surname: 'Petrov',
  203. // children: [{name: 'Maria'}, {name: 'Nikolay'}]}
  204. // let {name, surname, children: [{name: name1}, {name: name2} ]} = obj;
  205. //Task destruct 3
  206. // let arr = [1,2,3,4, 5,6,7,10];
  207. //let {length} = arr;
  208. // let {0:n, 1:m, length} = arr; //a, b has already been declared
  209. //Task Задание на черный пояс
  210. // let history = "1212";
  211. // let newValue = '1';
  212. // let predictArray = {};
  213. // for (let i = 0; newValue !== null; i++) {
  214. // let predictValue = predictArray[history];
  215. // newValue = prompt('Enter number 1 or 2');
  216. // if (!(predictArray.hasOwnProperty(history))) {
  217. // predictArray[history] = newValue;
  218. // predictValue = Math.round( Math.random() * 2);
  219. // };
  220. // history += newValue;
  221. // history = history.substring(1);
  222. // newValue == predictValue ? alert('You are not winner') : alert('you guessed');
  223. // };