script.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. // ------------------------------3 persons----------------------------------------------
  2. // let a = {
  3. // name: "Victor",
  4. // surname: "Basharov",
  5. // }
  6. // let b = {
  7. // name: "Dmitriy",
  8. // surname: "Ivanov",
  9. // }
  10. // let c = {
  11. // name: "John",
  12. // surname: "Doe",
  13. // }
  14. // ------------------------------different fields----------------------------------------------
  15. let a = {
  16. name: "Victor",
  17. surname: "Petrov",
  18. age: 35
  19. }
  20. let b = {
  21. name: "Dmitriy",
  22. surname: "Ivanov",
  23. fathername: "Alexandrovich"
  24. }
  25. let c = {
  26. name: "John",
  27. surname: "Doe",
  28. sex: "Male"
  29. }
  30. // ------------------------------fields check----------------------------------------------
  31. // for(let key1 in a) {
  32. // if(key1 === "age") {
  33. // alert(key1 + ': ' + a[key1]);
  34. // }
  35. // }
  36. // for(let key2 in b) {
  37. // if(key2 === "fathername") {
  38. // alert(key2 + ': ' + b[key2]);
  39. // }
  40. // }
  41. // for(let key3 in c) {
  42. // if(key3 === "sex") {
  43. // alert(key3 + ': ' + c[key3]);
  44. // }
  45. // }
  46. // ------------------------------array of persons----------------------------------------------
  47. let persons = [a, b, c];
  48. let newPerson = {
  49. name: "Alex",
  50. surname: "Man",
  51. isSportsman: true
  52. };
  53. persons[3] = newPerson;
  54. // ------------------------------loop of persons----------------------------------------------
  55. // for(let i in persons) {
  56. // console.log(persons[i])
  57. // }
  58. // ------------------------------loop of name and surname----------------------------------------------
  59. // for(let i=0; i<persons.length; i++) {
  60. // for(let key in persons[i]) {
  61. // if(key === "name" || key === "surname") {
  62. // console.log(persons[i][key]);
  63. // }
  64. // }
  65. // }
  66. // ------------------------------loop of loop of values----------------------------------------------
  67. // for(let i=0; i<persons.length; i++) {
  68. // for(let key in persons[i]) {
  69. // console.log(persons[i][key]);
  70. // }
  71. // }
  72. // ------------------------------fullName----------------------------------------------
  73. // for (let i = 0; i < persons.length; i++) {
  74. // persons[i].fullName = `${persons[i].name} ${persons[i].surname}` + (persons[i].fathername && (' ' + persons[i].fathername) || '');
  75. // }
  76. // for (let i in persons) {
  77. // console.log(persons[i].fullName)
  78. // }
  79. // ------------------------------serialize----------------------------------------------
  80. // let jsonPersons = JSON.stringify(persons);
  81. // console.log(jsonPersons);
  82. // ------------------------------deserialize----------------------------------------------
  83. // let jsonString = JSON.parse(persons)
  84. let jsonObject = JSON.parse(`{"name":"John","surname":"Doe","fathername":"Nathan"}`);
  85. persons[4] = jsonObject;
  86. console.log(persons);
  87. // ------------------------------HTML----------------------------------------------
  88. let str = "<table border='1'>";
  89. for (let i = 0; i < persons.length; i++) {
  90. str += `<tr> <td>${i+1}</td>`;
  91. for (let key in persons[i]) {
  92. str += `<td>${persons[i][key]}</td>`;
  93. }
  94. }
  95. str += "</table>"
  96. console.log(str);
  97. document.write(str);
  98. // ------------------------------HTML optional fields----------------------------------------------
  99. let str2 = "<table border='1'>";
  100. str2 += "<tr> <th>#</th> <th>Name</th> <th>Surname</th> <th>Aditional field</th> </tr>";
  101. // str += `<th>#</th>`;
  102. // str += `<th>Name</th>`;
  103. // str += `<th>Surname</th>`;
  104. // str += `<th>Aditional field</th>`;
  105. // str += `</tr>`;
  106. for (let i = 0; i < persons.length; i++) {
  107. str2 += `<tr> <td>${i+1}</td>`; // как оно работает без </tr> ???
  108. for (let key in persons[i]) {
  109. str2 += `<td>${persons[i][key]}</td>`;
  110. }
  111. }
  112. str2 += "</table>"
  113. console.log(str2);
  114. document.write(str2);
  115. // ------------------------------HTML tr color----------------------------------------------
  116. let str3 = "<table border='1'>";
  117. str3 += "<tr> <th>#</th> <th>Name</th> <th>Surname</th> <th>Aditional field</th> </tr>";
  118. for (let i = 0; i < persons.length; i++) {
  119. if(i % 2) {
  120. str3 += `<tr style = "background: yellow"><td>${i+1}</td>`;
  121. } else {
  122. str3 += `<tr> <td>${i+1}</td>`;
  123. }
  124. for (let key in persons[i]) {
  125. str3 += `<td>${persons[i][key]}</td>`;
  126. }
  127. }
  128. str3 += "</table>"
  129. console.log(str3);
  130. document.write(str3);
  131. // ------------------------------HTML th optional----------------------------------------------
  132. let str4 = "<table border='1'>";
  133. str4 += "<tr>";
  134. for (let i = 0; i < persons.length; i++) {
  135. str4 += `<th>${i+1}</th>`;
  136. }
  137. str4 += "</tr>";
  138. for (let i = 0; i < persons.length; i++) {
  139. if(i % 2) {
  140. str4 += `<tr style = "background: yellow"><td>${i+1}</td>`;
  141. } else {
  142. str4 += `<tr> <td>${i+1}</td>`;
  143. }
  144. for (let key in persons[i]) {
  145. str4 += `<td>${persons[i][key]}</td>`;
  146. }
  147. }
  148. str4 += "</table>"
  149. console.log(str4);
  150. document.write(str4);