//html tree let obj = { body: { tagName: 'body', attrs: {}, paired: true, subTags: [ { tagName: 'div', attrs: {}, paired: true, subTags: [ { tagName: 'span', attrs: {}, paired: true, text: 'Enter data please:', }, { tagName: 'br', paired: false }, { tagName: 'input', attrs: { type: 'text', id: 'name' }, paired: false }, { tagName: 'input', attrs: { type: 'text', id: 'surname' }, paired: false } ] }, { tagName: 'div', attrs: {}, paired: true, subTags: [ { tagName: 'button', attrs: { id: 'ok' }, paired: true, text: 'Ok' }, { tagName: 'button', attrs: { id: 'cancel' }, paired: true, text: 'Cancel' }, ], }, ] } } console.log(` innerText:`, obj.body.subTags[1].subTags[1].text) console.log(` id:`, obj.body.subTags[0].subTags[3].attrs.id) //declarative fields var notebook = { brand: prompt('Notebook brand:','') || "HP", type: prompt('Notebook type:','') || "440 G4", model: prompt('Notebook model:','') || "Y7Z75EA", ram: +prompt('Notebook ram:','') || 4, size: prompt('Notebook size:','') || "14", weight: +prompt('Notebook weight:','') ||1.8, resolution: { width: +prompt('Notebook width:','') || 1920, height: +prompt('Notebook height','') || 1080, }, }; console.log(notebook) var phone = { brand: prompt('Phone brand:','') || "meizu", model: prompt('Phone model:','') || "m2", ram: +prompt('Phone amount of ram:','') || 2, color: prompt('Phone color','') || "black", }; console.log(phone) var person = { Name: prompt('Person name:','') || 'Donald', surname: prompt('Person surname:','') || "Trump", married: confirm('is married?'), } console.log(person) //object links notebook.owner = phone.owner = person person.phone = phone person.notebook = notebook console.log(phone, notebook) console.log(person.phone.owner.notebook.owner.phone == person.phone ) //imperative array fill 3 let imperatve = [prompt('input array[0] element','')||0, prompt('input array[1] element','')||1, prompt('input array[2] element','')||2] console.log(imperatve) //while confirm while(!confirm('break the loop?')){} //array fill let arrayFill = [] for(let i = 0, str; i < arrayFill.length+1; i++) { str = prompt('input array element','') if(!str && str !== '') { break; } else { arrayFill.push(str) } } console.log(arrayFill) let arrayNoPush = [] for(let i = 0, str2; i < arrayNoPush.length+1; i++) { str2 = prompt('input arrayNoPush element','') if(!str2 && str2 !== '') { break; } else { arrayNoPush[arrayNoPush.length] = str2 } } console.log(arrayNoPush) //infinite probability let trys = 0 while(true) { trys++ let rand = Math.random() if(rand > 0.9) { alert(`Number of iterations: ${trys}`) break; } } //empty loop while(!prompt('Input smth and press OK to stop','')){} //progression sum let N = 10 let step = 1 let sum = 0 for(let i = 1; i <= N; i++) { sum = sum + step step += 3 } console.log('progression sum:', sum) //chess one line let strlen = 11 let str = '' for(let i = 0; i < strlen; i++) { i % 2 === 0? str += ' ' : str += '#' } console.log(str, str.length) //numers let numbers = '' for(let i = 0; i < 10; i++) { for(let i = 0; i < 10; i++) { numbers += `${i}` } numbers += '\n' } console.log(numbers) //chess let height = 3 let width = 12 let chessboard = '' for(let i = 0; i < height; i++) { for(let j = 0; j < width; j++) { i % 2 === 0? (j % 2 === 0? chessboard+='.' : chessboard+='#') : (j % 2 === 0? chessboard +='#' : chessboard+='.') } chessboard += '\n' } console.log(chessboard) //cubes let cubes = new Array(10) for(let i = 0; i < cubes.length; i++) { cubes[i] = i**3 } console.log(cubes) //multiply table let mulTable = [] for(let i = 0; i < 10; i++) { let innerArr = [] for(let j = 0; j < 10; j++) { innerArr.push(i * j) } mulTable[i] = innerArr } console.log(mulTable[5][6]) //будет 30 (но есть нулевые елементы в массиве) //matrix to html table let tableStr = '' let colors = ['red', 'orange', 'yellow', 'green', 'skyblue', 'blue', 'purple', 'red', 'orange'] let prevColors = [] tableStr += '' for (let i = 1; i < mulTable.length; i++) { tableStr += `` prevColors.push(colors[i - 1]) for (let j = 1; j < mulTable.length; j++) { tableStr += ` ${mulTable[i][j]} ` } tableStr += '' } tableStr += '' document.write(tableStr) //blue belt let trigon = '' for(let i = 6, step = 1; i > 0; i--) { let repeats = 10 for(let j = 0; j <= repeats; j++) { if(j === i - 1) { repeats = repeats - step + 1 for(let k = 0; k < step; k++) { trigon += '#' } } else { trigon += '.' } } trigon += '\n' step += 2 } console.log(trigon) //black belt let history = [1, 1, 1, 1] let predictArray = [ [ [[-1],[-1]],[[-1],[-1]] ], [ [[-1],[-1]],[[-1],[-1]] ] ] while(true) { console.log('my prediction is:', predictArray[history[0]][history[1]][history[2]][history[3]] >= 0? predictArray[history[0]][history[1]][history[2]][history[3]]: Math.random() > 0.5? 1 : 0 ) let variant = prompt('input 1 or 0') if(variant === null) { break; } else if(+variant === 1 || +variant === 0) { predictArray[history[0]][history[1]][history[2]][history[3]] = +variant history.shift() history.push(+variant) } }