//1.3 persons, 2.different fields, 3.fields check
// let a = {
//     'name' : 'Petr',
//     'surname' : 'Petrov'
// };
// let b = {
//     'name' : 'Ivan',
//     'surname' : 'Ivanov'
// };
// let c = {
//     'name' : 'Dima',
//     'surname' : 'Dmitrov'
// };

// a['fatherName'] = 'Petrovich';
// b['age'] = 35;
// c['sex'] = 'man';
// console.log(c);


// if('age' in a){
//     alert(a.age);
// }
// else if ('fatherName' in b){
//     alert(b.fatherName);
// }
// else if ('sex' in c){
//     alert(c.sex);
// }

//4.array of persons, 5.loop of persons, 6.loop of name and surname, 7.loop of loop of values, 8.fullName
// let persons = [];
// let a = new Object();
// let b = new Object();
// persons.push(a);
// persons.push(b);
// a.name = 'Dmitriy';
// a.surname = 'Dmitrov';
// a.age = 20;
// b.name = 'Ivan';
// b.surname = 'Ivanov';
// b.fathername = 'Ivanovich';
// b.age = 34;
// console.log(persons);

// for(let i = 0; i < persons.length; i++){
//     console.log(persons[i]);
// }

// for (let person of persons) {
//     let name = person.name;
//     let surname = person.surname;
//     console.log(`Person: ${name} ${surname}`);
// }

// for(let person of persons){
//     for(let key in person){
//         console.log(person[key]);
//     }
// }

// for(let person of persons){
//     if('name' in person && 'surname' in person && 'fathername' in person){
//         person.fullName = `${person.surname} ${person.name} ${person.fathername}`;
//         console.log(person.fullName);
//     }
// }

//9.serialize, 10.deserialize, 11.HTML
// let persons = {
//     person1 : {
//         'name' : 'Petr',
//         'surname' : 'Petrov',
//         'age' : 23
//     },
//     person2 : {
//         'name' : 'Ivan',
//         'surname' : 'Ivanov',
//         'pets' : 'cat'
//     },
// };
// let json = JSON.stringify(persons);
// console.log(json);

// let subPerson = "{\"name\":\"Dmitriy\",\"surname\":\"Dmitrov\"}";
// let jsonPerson = JSON.parse(subPerson);
// console.log(jsonPerson);

// persons.person3 = jsonPerson;
// console.log(persons);

// let str = "<table border='1'>";
// str += "<tr style='background : yellow'><th>Person</th><th>name</th><th>surname</th></th></tr>";
// for (let person in persons){
//     str += `<tr><td>${person}</td>
//     <td>${persons[person]['name']}</td>
//     <td>${persons[person]['surname']}</td>`;
// }
// str += "</table>";
// console.log(str);
// document.write(str);

//12.HTML optional fields
// let str = "<table border='1'>";
// str += "<tr style='background : yellow'><th>Person</th><th>name</th><th>surname</th><th>age</th><th>pets</th></th></tr>";
// for (let person in persons){
//     let age = 'age' in persons[person] ? persons[person]['age'] : '';
//     let pets = 'pets' in persons[person] ? persons[person]['pets'] : '';
//     str += `<tr><td>${person}</td>
//             <td>${persons[person]['name']}</td>
//             <td>${persons[person]['surname']}</td>
//             <td>${age}</td>
//             <td>${pets}</td>`;
// }
// str += "</table>";
// console.log(str);
// document.write(str);

//13.HTML tr color
// let i = 0;
// let str = "<table border='1'>";
// str += "<tr style='background : yellow'><th>Person</th><th>name</th><th>surname</th><th>age</th><th>pets</th></th></tr>";
// for (let person in persons){
//     let age = 'age' in persons[person] ? persons[person]['age'] : '';
//     let pets = 'pets' in persons[person] ? persons[person]['pets'] : '';
//     let backColor = i % 2 == 0 ? "style='background : pink'" : '';
//         str += `<tr ${backColor}><td>${person}</td>
//                 <td>${persons[person]['name']}</td>
//                 <td>${persons[person]['surname']}</td>
//                 <td>${age}</td>
//                 <td>${pets}</td>`;
//     i++;
// }
// str += "</table>";
// console.log(str);
// document.write(str);

//14.HTML th optional
// let arr = [];
// let str = "<table border='1'><tr style='background : yellow'>";
// for(let person in persons){
//     let obj = Object.keys(persons[person]);
//     for(let key of obj){
//         if(!(arr.includes(key))){
//             arr.push(key);
//             str += `<th>${key}</th>`;
//         }
//     }
// }
// str += '</tr>';
// for(let person in persons){
//     str += `<tr>`;
//     for(let key of arr){
//         let un = key in persons[person] ? persons[person][key] : '';
//         str += `<td>${un}</td>`;
//     }
//     str += '</tr>';
// }

// console.log(arr);
// document.write(str);


//15.Задание на синий пояс
// var someTree = {
//     tagName: "table", //html tag
//     subTags: [ //вложенные тэги
//         {
//                     tagName: "tr",
//                     subTags: [
//                         {
//                             tagName: "td",
//                             text: "some text",
//                         },
//                         {
//                             tagName: "td",
//                             text: "some text 2",
//                         }
//                     ]
//         }
//     ],
//     attrs: 
//     {
//         border: 1,
//     },
// };
// let str = '';
// if('tagName' in someTree){
//     str += `<${someTree.tagName} border='1'>`;
// }
// for(let child of someTree.subTags){
//     str += `<${child.tagName}>`;

//     for(let children of child.subTags){
//         str += `<${children.tagName}>`;
//         str += `${children.text}`;
//         str += `</${children.tagName}>`;
//     }
//     str += `</${child.tagName}>`;
// }
// str += `</${someTree.tagName}>`;

// console.log(str);
// document.write(str);

//16.destruct array
// let arr = [1,2,3,4,5, "a", "b", "c"];
// let [odd1, even1, odd2, even2, odd3, ...letters] = arr;
// console.log(odd1, even1, odd2, even2, odd3, letters);

//17.destruct string
// let arr = [1, "abc"];
// let[number, [s1, s2, s3]] = arr;
// console.log(number, s1, s2, s3);

//18.destruct 2
// let obj = {
//     name: 'Ivan',
//     surname: 'Petrov',
//     children: [{name: 'Maria'}, {name: 'Nikolay'}]
// };
// let [name1, name2] = obj.children;
// console.log(name1, name2);

//19.destruct 3
// let arr = [1,2,3,4, 5,6,7,10];
// let {a = arr[0], b = arr[1], length} = arr;
// console.log(a, b, length);

//20.Задание на черный пояс