scriptDz4(objectsInJson).js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. // 3 persons
  2. // Сделать три ассоциативных массива a, b, c, в каждом из которых должны быть поля name и surname.
  3. // // +
  4. // // different fields
  5. let first = {
  6. name: "Lotos",
  7. surname: "White",
  8. age: 39,
  9. }
  10. let second = {
  11. name: "Viktorov",
  12. surname: "Viktorov",
  13. sex: 'male',
  14. }
  15. let third = {
  16. name: "Alla",
  17. surname: "Petrofanova",
  18. patronymic: "Viktorovna",
  19. }
  20. // // fields check
  21. // // Проверьте наличие необязательных полей у каждого из этих массивов. Если поле найдено, выведите его с помощью alert. Проверку делайте по typeof или in в if.
  22. if ("age" in first){
  23. alert(first.age)
  24. }
  25. if ("patronymic" in third){
  26. alert(third.patronymic)
  27. }
  28. if ("sex" in second){
  29. alert(second.sex)
  30. }
  31. // // array of persons
  32. let personsFirst = [first, second, third, {name: 'Michael', surname: 'Phelps'}];
  33. // console.log(persons);
  34. // loop of persons
  35. for(let persons of personsFirst) {
  36. // console.log(persons)
  37. }
  38. // // loop of name and surname
  39. // // Сделайте цикл, который выводит весь массив persons, но только Имя и Фамилию каждой персоны.
  40. // for(let person of personsFirst) {
  41. // console.log(person.name, person.surname);
  42. // }
  43. // loop of loop of values
  44. // for (let person of personsFirst) {
  45. // for (let value in person) {
  46. // console.log(person[value]);
  47. // }
  48. // }
  49. // fullName--------------------
  50. // for (let person of personsFirst) {
  51. // someResult = person.name + ' ' + person.surname;
  52. // if("fathername" in person) {
  53. // someResult += ' ' + person.fathername;
  54. // }
  55. // };
  56. // console.log(personsFirst)
  57. // serialize
  58. // Создайте JSON-строку из persons
  59. // let personChange = JSON.stringify(personsFirst);
  60. // console.log(personChange);
  61. // console.log(typeof personChange);
  62. // deserialize
  63. // Создайте ассоциативный массив с одной персоной из JSON-строки. Добавьте её в persons
  64. // let personDeserialize = JSON.parse(personChange)[0];
  65. // personsFirst.push(personDeserialize);
  66. // console.log(personsFirst);
  67. // HTML
  68. // let str = "<table border='1'>"
  69. // for (let persons of personsFirst){
  70. // str += `<tr><td>${persons.name}</td><td>${persons.surname}</td></tr> \n`
  71. // }
  72. // str += "</table>"
  73. // console.log(str)
  74. // document.write(str)
  75. // HTML optional fields + tr color + th optional
  76. // Сделайте цикл, который выводит весь массив persons, в форме HTML-таблицы. Имя и Фамилия, а так же другие поля при наличии. Колонки: поля, строки таблицы - персоны.
  77. let str = "<table style='border: 4mm ridge rgba(56, 255, 109, .6);background-color: #FF8F1B;background-image: linear-gradient(334deg, #2ab3ff,#ff2d00);' ><tr>"
  78. let index = 0;
  79. const newArr = [];
  80. for (const person of personsFirst) {
  81. index += 1;
  82. for (const key in Object.keys(person)) {
  83. if (!newArr.includes(Object.keys(person)[key])) {
  84. newArr.push(Object.keys(person)[key]);
  85. };
  86. };
  87. };
  88. for (let i = 0; i < newArr.length; i++) {
  89. str += `<tr><th style="border: 2px solid black; background-color: rgba(255, 143, 27, 0.6);;
  90. background-image: linear-gradient(to left, #2ab3ff,#F7F7F7, #ff2d00);">${newArr[i].toUpperCase()}</th>`
  91. for (let k = 0; k < personsFirst.length; k++) {
  92. for (const key in personsFirst[k]) {
  93. if (key === newArr[i]) {
  94. str += `<td style='border: 3px solid black; background-color: #F7F7F7;background-image: linear-gradient(to left, #2ab3ff,white,#F7F7F7, #ff100099);'>${personsFirst[k][key]}</td>`;
  95. };
  96. };
  97. };
  98. };
  99. str += "</table>"
  100. document.write(str)
  101. // destruct array---------
  102. // let arr = [1,2,3,4,5, "a", "b", "c"];
  103. // let [odd1,even1,odd2,even2,odd3, ...letters] = arr;
  104. // alert(letters);
  105. // destruct string-------------
  106. // let arr = [1, "abc"];
  107. // let [number, [s1,s2,s3]] = arr;
  108. // alert(s1+" "+s2+" "+s3);
  109. // destruct 2---------------
  110. // let obj = {nameA: 'Ivan',
  111. // surname: 'Petrov',
  112. // children: [{name: 'Maria'}, {name: 'Nikolay'}]}
  113. // let = {nameA,surname,children:[{name :name1}, {name: name2}]} = obj;
  114. // alert(name2);
  115. // destruct 3------------------
  116. // let arrDe3 = [1,2,3,4, 5,6,7,10]
  117. // let {0:n1, 1:n2, length} = arrDe3
  118. // alert("n1 = " +n1 + " n2 = " + n2 + " length = " + length)