// html tree let body = { tagName: 'body', subTags: [ { tagName: 'div', subTags: [ { tagName: 'span', text: 'Enter a data please:', subTags: [ { tagName: 'br', }, { tagName: 'input', attrs: {'type':'text', 'id': 'name',} }, { tagName: 'input', attrs: {'type':'text', 'id': 'surname',} } ] }, { tagName: 'div', subTags: [ { tagName: 'button', attrs: {'id': 'ok'}, text: 'OK', }, { tagName: 'button', attrs: {'id': 'cancel'}, text: 'Cancel', }, ] } ] } ] } // declarative fields var notebook = { brand: prompt("Enter brand notebook "), type: prompt("Enter type notebook "), model: prompt("Enter model notebook "), ram: +prompt("Enter brand notebook "), size: prompt("Enter size notebook "), weight: +prompt("Enter weight notebook "), resolution: { width: +prompt("Enter width notebook "), height: +prompt("Enter height notebook "), }, }; var phone = { brand: prompt("Enter brand phone "), model: prompt("Enter model phone "), ram: +prompt("Enter ram phone "), color: prompt("Enter color phone "), }; var person = { name: prompt("Enter a name"), surname: prompt("Enter a surname"), married: confirm("married"), } // object links person.smartphone = phone; person.laptop = notebook; phone.owner = person; notebook.owner = person; person.smartphone.owner.laptop.owner.smartphone == person.smartphone // true // imperative array fill 3 let arr = [] for (let i = 0; i < 3; i++) { arr[i] = prompt("") } // while confirm let k = false; while(k=== false){ k = confirm("false or true") } // array fill // Создайте пустой массив и добавляйте в него элементы, пока пользователь не нажмет Отмена в очередном prompt. Используйте push для удобства: push let array= []; let el = prompt("Enter new element"); while(newElement != null) { el = prompt("Enter new element"); array.push(el); } console.log(array); // infinite probability // infinite probability // Создайте бесконечный цикл, который прерывается с помощью конструкции break, когда Math.random() > 0.9. Код должен подсчитывать количество итераций и вывести это число с помощью alert. let m = 0; for (let k = 0; ; k++) { m = Math.random(); if (m > 0.9) { break; } } alert(k) // empty loop // Сделайте цикл с prompt, который прерывается по нажатию OK и продолжается по нажатию "Отмена" c пустым телом цикла. while (prompt('ok') == null) { }; // progression sum // Подсчитать сумму арифметической прогрессии от 1 до N c шагом 3 (1,4,7....) используя цикл for. let n = prompt(""); let s =0; for (i = 1; i < n; i = i + 3) { s = s + i console.log(i) } console.log(s) // numbers // Сформировать строку c помощью вложенных циклов. Для перевода строки let stringMass = ""; for (let i = 0; i < 10; i++) { let string = ""; for (let j = 0; j < 10; j++) { string += j } stringMass += string + "\n" } console.log(stringMass) // chess let string = ''; let n = 12; for (let i = 0; i < n * n + n; i++) { if (i === 0 || i % 2 === 0) { string += '.' } else { string += '#'; } if ((string.length + 1) % (n + 1) === 0) { string += '\n'; i += 1; } } console.log(string) console.log(string.length) // cubes // Сформируйте массив из N элементов, содержащий в себе кубы индексов, т. е:[0,1,8,27,64...] let array = []; let arraystring = ""; array.length = +prompt("Enter the length of the array "); for(let i = 0; i < array.length; i++) { array[i] = Math.pow(i, 3) arraystring += array[i] + ", " } alert(arraystring) // multiply table // C помощью вложенного цикла сформируйте массив массивов "таблица умножения". Для инициализации вложенных массивов используйте // arr[i] = [] //в i-тый элемент массива заносится новый пустой массив // arr[5][6] должен быть равен, соответственно, 30, arr[7][2] == 14 и так далее. for (let i = 0; i <= 10; i++) { arr[i] = []; for (let j = 0; j <= 10; j++) { arr[i][j] = i * j; } } console.log(arr); alert(arr[5][6]) // matrix to html table // Сделайте вложенный цикл, который формирует HTML-таблицу в переменной строкового типа из любого двумерного массива. Т. е. если в нём использовать результат работы предыдущего задания, то получится таблица умножения в HTML (Таблица Пифагора) // НЕ ПОЛУЧИЛОСЬ let arr =[]; for (let i = 0; i <= 10; i++) { var div = document.createElement("div"); arr[i] = []; for (let j = 0; j <= 10; j++) { var span = document.createElement("span"); span.style.display = "inline-block" span.style.width = "25px" arr[i][j] = i * j; span.innerHTML = arr[i][j]; div.appendChild(span); } document.body.append(div); } console.log(arr);