//3 persons let a = { name: 'Layne', surname: 'Staley', } let b = { name: 'Varg', surname: 'Vikernes' } let c = { name: 'Alexi', surname: 'Laiho' } //different fields a.sex = 'male' a.fathername = 'Phil' b.project = 'Burzum' c.age = 41 c.project = 'Children of Bodom' //fields check // let arr = [a, b, c] // for (let i = 0; i < arr.length; i++) { // if ('sex' in arr[i]) { // alert(arr[i].sex) // } // if ('project' in arr[i]) { // alert(arr[i].project) // } // if ('age' in arr[i]) { // alert(arr[i].age) // } // if ('fathername' in arr[i]) { // alert(arr[i].fathername) // } // } //array of persons let persons = [a, b, c, {name: 'James', surname: 'Hetfield', age: 58, fathername: 'Virgil'}] //loop of persons // for (let i = 0; i < persons.length; i++) { // console.log(persons[i]) // } //loop of name and surname // for (let i = 0; i < persons.length; i++) { // console.log(persons[i].name, persons[i].surname) // } //loop of loop of values // for (let i = 0; i < persons.length; i++) { // for (let key in persons[i]) { // console.log(persons[i][key]) // } // } // or // for (let i = 0; i < persons.length; i++) { // for (let [key, value] of Object.entries(persons[i])) { // console.log(value) // } // } //fullName for (let i = 0; i < persons.length; i++) { if ('fathername' in persons[i]) { persons[i].fullName = persons[i].name + ' ' + persons[i].surname } } //serialize JSON.stringify(persons) //deserialize persons[persons.length] = JSON.parse('{"name": "Peeter", "surname": "Steele", "project": "Type O Negative"}') //HTML // let str = "" // for (let i = 0; i < persons.length; i++) { // if (i === 0) { // str += `` // } else { // str += `` // } // } // str += "
NameSurname
${i}${persons[i].name}${persons[i].surname}
" // console.log(str) // document.write(str) //HTML optional fields // let columns = {} // for (let i = 0; i < persons.length; i++) { // Object.assign(columns, persons[i]) // } // let str = '' // for (let i = 0; i <= persons.length; i++) { // str += '' // if (i === 0) { // str += '' // for (let [key, value] of Object.entries(columns)) { // str += `` // } // } else { // str += `` // for (let [key, value] of Object.entries(columns)) { // if (key in persons[i-1]) { // str += `` // } else { // str += `` // } // } // } // str += '' // } // str += '
${key} ${i} ${persons[i-1][key]}
' // document.write(str) //HTML tr color // let columns = {} // for (let i = 0; i < persons.length; i++) { // Object.assign(columns, persons[i]) // } // let str = '' // for (let i = 0; i <= persons.length; i++) { // if (i % 2) { // str += '' // } else { // str += '' // } // if (i === 0) { // str += '' // for (let [key, value] of Object.entries(columns)) { // str += `` // } // } else { // str += `` // for (let [key, value] of Object.entries(columns)) { // if (key in persons[i-1]) { // str += `` // } else { // str += `` // } // } // } // str += '' // } // str += '
${key} ${i} ${persons[i-1][key]}
' // document.write(str) //HTML th optional //Я уже случайно это сделала кажется, тут просто заменила свои td на th в нужном месте let columns = {} for (let i = 0; i < persons.length; i++) { Object.assign(columns, persons[i]) } let str = '' for (let i = 0; i <= persons.length; i++) { if (i % 2) { str += '' } else { str += '' } if (i === 0) { str += '' for (let key of Object.keys(columns)) { str += `` } } else { str += `` for (let key of Object.keys(columns)) { if (key in persons[i-1]) { str += `` } else { str += `` } } } str += '' } str += '
${key} ${i} ${persons[i-1][key]}
' document.write(str) //Задание на синий пояс var someTree = { tagName: "table", subTags: [ { tagName: "tr", subTags: [ { tagName: "td", text: "some text", }, { tagName: "td", text: "some text 2", } ] } ], attrs: { border: 1, }, } function tableConstructor (object) { let table = `<${object.tagName}` for (let [key, value] of Object.entries(object.attrs)) { table += ` ${key}="${value}"` } table += `>` for (let i = 0; i < object.subTags.length; i++) { table += `<${object.subTags[i].tagName}>` if ('subTags' in object.subTags[i]) { for (let j = 0; j < object.subTags[i].subTags.length; j++) { table += `<${object.subTags[i].subTags[j].tagName}>` if ('text' in object.subTags[i].subTags[j]) { table += `${object.subTags[i].subTags[j].text}` } table += `` } } table += `` } table += `` document.write(table) } //destruct array // let arr = [1,2,3,4,5, "a", "b", "c"] // let [even1, even2] = arr.filter(element => !(element % 2)) // let [odd1, odd2, odd3] = arr.filter(element => element % 2) // let oneMoreArr = arr.filter(element => !(+element)) //destruct string // let arr = [1, "abc"] // let [number] = arr.filter(element => +element) // let [[s1, s2, s3]] = arr.filter(element => !(+element)) //destruct 2 // let obj = { // name: 'Ivan', // surname: 'Petrov', // children: [{ name: 'Maria' }, { name: 'Nikolay' }] // } // let { // children: [{name: name1}, {name: name2}] // } = obj //destruct 3 // let arr = [1,2,3,4,5,6,7,10] // let {0:a, 1:b, length} = arr; //Задание на черный пояс let predictArray = { "0000": -1, "0001": -1, "0010": -1, "0100": -1, "1000": -1, "0011": -1, "0110": -1, "1100": -1, "1001": -1, "0101": -1, "1010": -1, "1110": -1, "0111": -1, "1011": -1, "1101": -1, "1111": -1, } let history = "1111" let points = 0; let counter = 0; while (true) { if (predictArray[history] === -1) { console.log('Предсказание гадалки: ' + (predictArray[history] = Math.round(Math.random()))) } else { console.log('Предсказание гадалки: ' + predictArray[history]) } let userNumber = prompt('Введите 0 или 1') if (userNumber === null || userNumber === '') { break } console.log('Ввод пользователя: ' + userNumber) counter++ if (predictArray[history] == userNumber) { points-- } else { points++ } alert('Ваш счёт: ' + points) predictArray[history] = +userNumber; history = history.split(''); history.shift(); history.push(+userNumber); history = history.join('') } alert('Количество ходов: ' + counter + '. Ваш счёт: ' + points)