main.js 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. //1,2,4,5,6,7,8task
  2. var a = {
  3. name:"Vasiliy",
  4. surname:"Pupkin",
  5. }
  6. var b = {
  7. name:"Petr",
  8. surname:"Sidorov",
  9. }
  10. var c = {
  11. name:"Maria",
  12. surname:"Andreeva",
  13. }
  14. a.sex = "male";
  15. c.sex = "female";
  16. b.married = "true";
  17. c.education = "secondary";
  18. a.age = 15;
  19. var persons= [];
  20. persons[0] = a
  21. persons[1] = b
  22. persons[2] = c
  23. persons[3] = {
  24. name:"Jacob",
  25. surname:"Brown",
  26. age:45,
  27. married:"false"
  28. }
  29. for (let i = 0; i<persons.length;i++){
  30. console.log(persons[i])
  31. }
  32. for (let i = 0; i<persons.length;i++){
  33. console.log(persons[i]["name"])
  34. console.log(persons[i]["surname"])
  35. }
  36. //3task
  37. //не понял , что такое необязательные поля
  38. alert(Object.values(a))
  39. alert(Object.values(b))
  40. alert(Object.values(c))
  41. for (let i = 0; i < persons.length; i++) {
  42. persons[i]["fullName"] = `${persons[i]["surname"]} ${persons[i]["name"]}`
  43. if (undefined !== persons[i]["fathername"]) {
  44. persons[i]["fullName"] += " "+persons[i]["fathername"]
  45. }
  46. }
  47. //9task
  48. var personsJson = JSON.stringify(persons)
  49. console.log(personsJson)
  50. console.log(typeof personsJson)
  51. //10task
  52. var alesha = JSON.parse('{"name": "Alex", "surname": "Alekseev", "fathername": "Alekseevich", "age": 33, "sex": male}')
  53. persons.push(alesha)
  54. console.log(persons)
  55. //11task
  56. var table = "";
  57. table += '<table border = 1>'
  58. table += '\n\t<tr>'
  59. table += `\n\t\t<th>\n\t\t\tSurame\n\t\t</th>`
  60. table += `\n\t\t<th>\n\t\t\tName\n\t\t</th>`
  61. table += '</tr>'
  62. for (let i=0; i < persons.length; i++){
  63. table += '\n\t<tr>'
  64. table += `\n\t\t<td>\n\t\t\t${persons[i]["surname"]}\n\t\t</td>`
  65. table += `\n\t\t<td>\n\t\t\t${persons[i]["name"]}\n\t\t</td>`
  66. table += '</tr>'
  67. }
  68. table += '</table>'
  69. document.write(table)
  70. //12task
  71. var table = "";
  72. table += '<table border = 1>'
  73. for (let i=0; i < persons.length; i++){
  74. table += '\n\t<tr>'
  75. for (let key in persons[i]) {
  76. table += `\n\t\t<td>\n\t\t\t${persons[i][key]}\n\t\t</td>`
  77. }
  78. table += '</tr>'
  79. }
  80. table += '</table>'
  81. document.write(table)
  82. //13task
  83. var table = "";
  84. table += '<table border = 1>'
  85. for (let i=0; i < persons.length; i++){
  86. if (i%2) {
  87. table += '\n\t<tr bgcolor="lightgrey">'
  88. }
  89. else {table += '\n\t<tr>'}
  90. for (let key in persons[i]) {
  91. table += `\n\t\t<td>\n\t\t\t${persons[i][key]}\n\t\t</td>`
  92. }
  93. table += '</tr>'
  94. }
  95. table += '</table>'
  96. document.write(table)
  97. //14task
  98. var table = "";
  99. table += '<table border = 1>'
  100. table += '\n\t<tr bgcolor="#90ee90">'
  101. for (let key in personsKeys){
  102. table += `\n\t\t<th>\n\t\t\t${personsKeys[key]}\n\t\t</th>`
  103. }
  104. table += '</tr>'
  105. for (let i=0; i < persons.length; i++){
  106. if (i%2) {
  107. table += '\n\t<tr bgcolor="lightgrey">'
  108. }
  109. else {table += '\n\t<tr>'}
  110. for (let key in personsKeys) {
  111. if (personsKeys[key] in persons[i]) {
  112. table += `\n\t\t<td>\n\t\t\t${persons[i][personsKeys[key]]}\n\t\t</td>`
  113. }
  114. else {
  115. table += `\n\t\t<td></td>`
  116. }
  117. }
  118. table += '</tr>'
  119. }
  120. table += '</table>'
  121. document.write(table)
  122. //15task
  123. var someTree = {
  124. tagName: "table",
  125. subTags: [ //vlozhennie tegi
  126. {
  127. tagName: "tr",
  128. subTags: [
  129. {
  130. tagName: "td",
  131. text: "some text",
  132. },
  133. {
  134. tagName: "td",
  135. text: "some text 2",
  136. }
  137. ]
  138. }
  139. ],
  140. attrs:
  141. {
  142. border: 1,
  143. },
  144. }
  145. const createHtmlTree = function (objectHtml, tag, attr, content, children) { //object and standart names of keys
  146. var strHtmlTree = "";
  147. strHtmlTree += `<${objectHtml[tag]}`
  148. if (attr in objectHtml) {
  149. for (let key in objectHtml[attr]) {
  150. strHtmlTree += ` ${key} = "${objectHtml[attr][key]}"`
  151. }
  152. }
  153. strHtmlTree += `>`
  154. if (content in objectHtml) {
  155. strHtmlTree += objectHtml[content]
  156. }
  157. if (children in objectHtml) {
  158. for (let i=0; i < objectHtml[children].length; i++) {
  159. strHtmlTree += createHtmlTree(objectHtml[children][i], tag, attr, content, children)
  160. }
  161. }
  162. if (undefined !== objectHtml[content] || objectHtml[children].length > 0) {
  163. strHtmlTree += `</${objectHtml[tag]}>`
  164. }
  165. return strHtmlTree;
  166. }
  167. document.write(createHtmlTree(someTree, "tagName", "attrs", "text", "subTags"))
  168. var body = {
  169. name: 'body',
  170. atr: {},
  171. children: [
  172. {
  173. name: 'div',
  174. atr: {},
  175. children: [
  176. {
  177. name: 'span',
  178. atr: {},
  179. children: [],
  180. content: "Enter a data please:"
  181. },
  182. {
  183. name: 'br',
  184. atr: {},
  185. children: [],
  186. },
  187. {
  188. name: "input",
  189. atr: {
  190. id: "name",
  191. type: "text"
  192. },
  193. children: []
  194. },
  195. {
  196. name: "input",
  197. atr: {
  198. id: "surname",
  199. type: "text"
  200. },
  201. children: []
  202. }
  203. ]
  204. },
  205. {
  206. name: 'div',
  207. atr: {},
  208. children: [
  209. {
  210. name: "button",
  211. atr: {
  212. id: "ok"
  213. },
  214. children: [],
  215. content: "OK"
  216. },
  217. {
  218. name: "button",
  219. atr: {
  220. id: "cancel"
  221. },
  222. children: [],
  223. content: "Cancel"
  224. }
  225. ]
  226. }
  227. ]
  228. }
  229. document.write(createHtmlTree(body, "name", "atr", "content", "children"))
  230. //black poyas
  231. var userHistory = "1111";
  232. var predictObject = {};
  233. for (let i = 0; i < 16; i++) {
  234. predictObject[i.toString(2)] = Math.floor(Math.random()*2);
  235. }
  236. do {
  237. var answer = (confirm("Хочешь поиграть в 'какой руке монета'? "))
  238. let prediction = ((1 === predictObject[userHistory]) ? "монета в правой" : "монета в левой")
  239. console.log(prediction)
  240. userHistory += (predictObject[userHistory] = Number(confirm("Вы выбрали?")))
  241. userHistory = userHistory.substring(1)
  242. alert (`Ваша ${prediction} руке`)
  243. var agree = confirm ("Я угадал")
  244. } while (agree !== true )