/* 1. Создайте смешанный массив, например [1, 2, 3, ‘a’, ‘b’, ‘c’, ‘4’, ‘5’, ‘6’]. Посчитайте сумму всех его чисел, включая строковые. Выведите сумму в alert.*/ var arr = [ 1, 2, 3, 'a', 'b', 'c', '4', '5', '6']; var sum = 0; for (var i = 0; i < arr.length; i++) { sum += arr[i]; } alert('Сумма массива = ' + sum); /* 2. Сгенерируйте массив из N случайных чисел с двумя знаками после запятой. Затем переберите массив и распечатайте в консоли значения его элементов, возведенные в пятую степень, используя вложенные циклы.*/ var arr = []; var N = prompt ('Введите размер массива N ', 8); for (var i = 0; i < N; i++) { var x = Math.random().toFixed(2); console.log ('Сгенерированное число ' + x); arr [i] = 1; for (var j = 0; j < 5; j++) { arr[i] *=x; } console.log ('Возвели в пятую степень ' + arr[i]); } /* 3. Создайте пустой массив. В цикле до n на каждой итерации запускайте prompt для ввода любых символов, полученное значение добавляйте в конец созданного массива. После выхода из цикла посчитайте сумму всех чисел массива и выведите в alert полученный результат.*/ var arr = []; var sum = ''; var n = prompt ('Введите размер массива n ', 4); for (var i = 0; i < n; i++) { arr[i] = prompt ('Введите символы элемента массива ', 'aaaabbbb'); arr.push(arr[i]); sum += arr[i]; } alert (sum); /* 4. Создайте массив со значениями: ‘AngularJS’, ‘jQuery’ Добавьте в начало массива значение ‘Backbone.js’ Добавьте в конец массива значения ‘ReactJS’ и ‘Vue.js’ Добавьте в массив значение ‘CommonJS’ вторым элементом Найдите и удалите из массива значение ‘jQuery’, выведите его в alert со словами “Это здесь лишнее” */ var arr = ['AngularJS', 'jQuery']; arr.unshift ('Backbone.js'); arr.push ('ReactJS', 'Vue.js'); arr.splice(2,0,'CommonJS'); id = arr.indexOf ('jQuery'); alert ('Это здесь лишнее - ' + arr[id]); arr.splice(id, 1); alert ('Вот такой массив получается - ' + arr); /* 4. Создайте строку с текстом ‘Как однажды Жак звонарь сломал городской фонарь’. Разбейте ее на массив слов, и переставьте слова в правильном порядке с помощью любых методов массива (indexOf, splice ...). Затем объедините элементы массива в строку и выведите в alert исходный и итоговый варианты.*/ var str = 'Как однажды Жак звонарь сломал городской фонарь'; var arr = str.split(' '); id1 = arr.indexOf ('городской'); x = arr[id1]; arr.splice(id1, 1); id2 = arr.indexOf ('сломал'); arr.splice(id2, 0, x); var strnew=''; for (var i = 0; i < arr.length; i++) { strnew += arr[i] + ' '; } alert ('Было: ' + str + '\n' + 'Стало: ' + strnew); /* 5. Используя вложенные циклы, сформируйте двумерный массив, содержащий таблицу умножения. */ var arr = new Array (); var i,j; for (i = 0; i < 10; i++) { arr [i] = new Array(); for (j = 0; j < 10; j++) { arr[i][j] = (i+1)+'x'+(j+1)+'='+((i+1)*(j+1))+' '; } } console.log (arr); /* 6. Создайте ассоциативный массив person, описывающий персону, с произвольным количеством произвольных полей. С помощью оператора in или typeof проверьте наличие в объекте свойства, прочитанного из prompt, и выведите его на экран. Если свойства нет, то добавляйте его в объект со значением, которое также запрашивается из prompt. */ var person = { 'Firstname': 'Slava', 'Lastname': 'Ilchenko', 'age': '39', 'dateofbirth': '1978-11-21', 'phone': '+30677068573' }; var property = prompt('Введите свойство','Lastname'); if (property in person) { alert(person[property]); } else { person[property] = prompt('Такого свойства нет. Укажите значения свойства ' + property + ' у персоны'); alert('Свойство ' + property + ' записано в ' + person[property] + ' у персоны'); } console.log (person); /* 7. Сгенерируйте объект, описывающий модель телефона, заполнив все свойства значениями, прочитанными из prompt (например: brand, model, resolution, color...), не используя вспомогательные переменные. Добавьте этот гаджет персоне, созданной ранее.*/ var modelphone = { 'brand': prompt('Brand', 'Apple'), 'model': prompt('Model', 'iPhone X'), 'resolution': prompt('Resolution', 'Retina'), 'color': prompt('Color', 'Silver') } property = 'modelph'; person[property] = modelphone; console.log (person); /* 8. Создайте объект dates для хранения дат. Первая дата – текущая, new Date. Вторая дата – текущая дата минус 365 дней. Из prompt читается дата в формате yyyy-MM-dd. Проверьте, попадает ли введенная дата в диапазон дат объекта dates. */ var dates = { nowdate: new Date(), olddate: new Date() } var arrofdate = []; var inputdate = prompt("Введите дату в формате yyyy-MM-dd", "2018-02-02"), arrofdate = inputdate.split("-"); var a = new Date(arrofdate[0], arrofdate[1], arrofdate[2]); dates.olddate = new Date(dates.nowdate - (365*24*60*60*1000)); console.log (dates); result = (a < dates.nowdate && a > dates.olddate) ? 'Введенная дата попадает в диапазон' : 'Введенная дата не попадает в диапазон'; alert (result); /* 9. Создайте структуру данных, полностью описывающую html-разметку картинки. */ var img = { src: "https://www.google.com.ua/logos/doodles/2017/bella-akhmadulinas-80th-birthday-5134676388741120.3-law.gif", alt: "", style: {border: "1px solid #ccc"}, width: 200 } /* 10. С помощью jQuery добавьте картинку на страницу вместе со всеми атрибутами, используя созданную ранее структуру.*/ $(document).ready (function (){ $('body').append(""); $('img').attr({ "src": "https://www.google.com.ua/logos/doodles/2017/bella-akhmadulinas-80th-birthday-5134676388741120.3-law.gif", "alt": "", "style": "border: 1px solid #ccc", "width": "200", }) } )