// 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);