script.js 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. /* 1. Создайте смешанный массив, например [1, 2, 3, ‘a’, ‘b’, ‘c’, ‘4’, ‘5’, ‘6’]. Посчитайте сумму всех его чисел, включая строковые. Выведите сумму в alert.*/
  2. var arr = [ 1, 2, 3, 'a', 'b', 'c', '4', '5', '6'];
  3. var sum = 0;
  4. for (var i = 0; i < arr.length; i++)
  5. {
  6. sum += arr[i];
  7. }
  8. alert('Сумма массива = ' + sum);
  9. /* 2. Сгенерируйте массив из N случайных чисел с двумя знаками после запятой.
  10. Затем переберите массив и распечатайте в консоли значения его элементов,
  11. возведенные в пятую степень, используя вложенные циклы.*/
  12. var arr = [];
  13. var N = prompt ('Введите размер массива N ', 8);
  14. for (var i = 0; i < N; i++)
  15. {
  16. var x = Math.random().toFixed(2);
  17. console.log ('Сгенерированное число ' + x);
  18. arr [i] = 1;
  19. for (var j = 0; j < 5; j++) {
  20. arr[i] *=x;
  21. }
  22. console.log ('Возвели в пятую степень ' + arr[i]);
  23. }
  24. /* 3. Создайте пустой массив. В цикле до n на каждой итерации запускайте prompt для ввода любых символов, полученное значение добавляйте в конец созданного массива. После выхода из цикла посчитайте сумму всех чисел массива и выведите в alert полученный результат.*/
  25. var arr = [];
  26. var sum = '';
  27. var n = prompt ('Введите размер массива n ', 4);
  28. for (var i = 0; i < n; i++)
  29. {
  30. arr[i] = prompt ('Введите символы элемента массива ', 'aaaabbbb');
  31. arr.push(arr[i]);
  32. sum += arr[i];
  33. }
  34. alert (sum);
  35. /* 4. Создайте массив со значениями: ‘AngularJS’, ‘jQuery’
  36. Добавьте в начало массива значение ‘Backbone.js’
  37. Добавьте в конец массива значения ‘ReactJS’ и ‘Vue.js’
  38. Добавьте в массив значение ‘CommonJS’ вторым элементом
  39. Найдите и удалите из массива значение ‘jQuery’, выведите его в alert со словами “Это здесь лишнее” */
  40. var arr = ['AngularJS', 'jQuery'];
  41. arr.unshift ('Backbone.js');
  42. arr.push ('ReactJS', 'Vue.js');
  43. arr.splice(2,0,'CommonJS');
  44. id = arr.indexOf ('jQuery');
  45. alert ('Это здесь лишнее - ' + arr[id]);
  46. arr.splice(id, 1);
  47. alert ('Вот такой массив получается - ' + arr);
  48. /* 4. Создайте строку с текстом ‘Как однажды Жак звонарь сломал городской фонарь’. Разбейте ее на массив слов, и переставьте слова в правильном порядке с помощью любых методов массива (indexOf, splice ...). Затем объедините элементы массива в строку и выведите в alert исходный и итоговый варианты.*/
  49. var str = 'Как однажды Жак звонарь сломал городской фонарь';
  50. var arr = str.split(' ');
  51. id1 = arr.indexOf ('городской');
  52. x = arr[id1];
  53. arr.splice(id1, 1);
  54. id2 = arr.indexOf ('сломал');
  55. arr.splice(id2, 0, x);
  56. var strnew='';
  57. for (var i = 0; i < arr.length; i++) {
  58. strnew += arr[i] + ' ';
  59. }
  60. alert ('Было: ' + str + '\n' + 'Стало: ' + strnew);
  61. /* 5. Используя вложенные циклы, сформируйте двумерный массив, содержащий таблицу умножения. */
  62. var arr = new Array ();
  63. var i,j;
  64. for (i = 0; i < 10; i++) {
  65. arr [i] = new Array();
  66. for (j = 0; j < 10; j++) {
  67. arr[i][j] = (i+1)+'x'+(j+1)+'='+((i+1)*(j+1))+' ';
  68. }
  69. }
  70. console.log (arr);
  71. /* 6. Создайте ассоциативный массив person, описывающий персону,
  72. с произвольным количеством произвольных полей. С помощью
  73. оператора in или typeof проверьте наличие в объекте свойства,
  74. прочитанного из prompt, и выведите его на экран. Если свойства нет,
  75. то добавляйте его в объект со значением, которое также запрашивается
  76. из prompt. */
  77. var person = {
  78. 'Firstname': 'Slava',
  79. 'Lastname': 'Ilchenko',
  80. 'age': '39',
  81. 'dateofbirth': '1978-11-21',
  82. 'phone': '+30677068573'
  83. };
  84. var property = prompt('Введите свойство','Lastname');
  85. if (property in person) {
  86. alert(person[property]);
  87. } else {
  88. person[property] = prompt('Такого свойства нет. Укажите значения свойства ' + property + ' у персоны');
  89. alert('Свойство ' + property + ' записано в ' + person[property] + ' у персоны');
  90. }
  91. console.log (person);
  92. /* 7. Сгенерируйте объект, описывающий модель телефона,
  93. заполнив все свойства значениями, прочитанными из prompt
  94. (например: brand, model, resolution, color...), не используя
  95. вспомогательные переменные. Добавьте этот гаджет персоне,
  96. созданной ранее.*/
  97. var modelphone = {
  98. 'brand': prompt('Brand', 'Apple'),
  99. 'model': prompt('Model', 'iPhone X'),
  100. 'resolution': prompt('Resolution', 'Retina'),
  101. 'color': prompt('Color', 'Silver')
  102. }
  103. property = 'modelph';
  104. person[property] = modelphone;
  105. console.log (person);
  106. /* 8. Создайте объект dates для хранения дат. Первая дата – текущая, new Date.
  107. Вторая дата – текущая дата минус 365 дней.
  108. Из prompt читается дата в формате yyyy-MM-dd.
  109. Проверьте, попадает ли введенная дата в диапазон дат объекта dates. */
  110. var dates = {
  111. nowdate: new Date(),
  112. olddate: new Date()
  113. }
  114. var arrofdate = [];
  115. var inputdate = prompt("Введите дату в формате yyyy-MM-dd", "2018-02-02"),
  116. arrofdate = inputdate.split("-");
  117. var a = new Date(arrofdate[0], arrofdate[1], arrofdate[2]);
  118. dates.olddate = new Date(dates.nowdate - (365*24*60*60*1000));
  119. console.log (dates);
  120. result = (a < dates.nowdate && a > dates.olddate) ? 'Введенная дата попадает в диапазон' : 'Введенная дата не попадает в диапазон';
  121. alert (result);
  122. /* 9. Создайте структуру данных, полностью описывающую html-разметку картинки. */
  123. var img = {
  124. src: "https://www.google.com.ua/logos/doodles/2017/bella-akhmadulinas-80th-birthday-5134676388741120.3-law.gif",
  125. alt: "",
  126. style: {border: "1px solid #ccc"},
  127. width: 200
  128. }
  129. /* 10. С помощью jQuery добавьте картинку на страницу вместе со всеми атрибутами, используя созданную ранее структуру.*/
  130. $(document).ready (function (){
  131. $('body').append("<img>");
  132. $('img').attr({
  133. "src": "https://www.google.com.ua/logos/doodles/2017/bella-akhmadulinas-80th-birthday-5134676388741120.3-law.gif",
  134. "alt": "",
  135. "style": "border: 1px solid #ccc",
  136. "width": "200",
  137. })
  138. }
  139. )