// Task 3 persons
let a = {
name: "Vika",
surname: "Yurchenko",
};
let b = {
name: "Ivan",
surname: "Ivanov",
};
let c = {
name: "Petro",
surname: "Petrov",
};
// Task different fields
a.age = "15";
b.fathername = "Petrovna";
c.sex = "m";
//Task fields check
// let result = typeof(a.key);
// alert(result);
// if ('key' in a) {
// alert('yes');
// };
//Task array of persons
let persons = [{name: "Dima", surname: "Dimon"}];
persons.push(a, b, c);
//Task loop of persons
// for (let i = 0; i < persons.length; i++) {
// console.log(persons[i]);
// };
//Task loop of name and surname
// for (let i = 0; i < persons.length; i++) {
// let name = persons[i].name;
// let surname = persons[i].surname;
// console.log( name, surname);
// };
//Task loop of loop of values
// for (let i = 0; i < persons.length; i++) {
// let vallues = persons[i];
// for (key in persons[i] ) { c
// console.log(persons[i][key]);
// };
// };
// Task fullName
// for (let i = 0; i < persons.length; i++ ) {
// if (persons[i].name && persons[i].surname) {
// persons[i].fullName = '';
// };
// };
// console.log(persons);
//Task serialize
// let stringJson = JSON.stringify(persons);
// console.log(stringJson);
//Task deserialize
// let strJson = '{"name": "Vova", "surname": "Vovanov"}';
// persons.push( JSON.parse(strJson) );
// console.log(persons);
//Task HTML
// var str = "
"
// for (let i=0;i < persons.length; i++){
// str += '';
// for (key in persons[i]) {
// str += ` ${key} | | ${persons[i][key]} | `;
// };
// str +='
' ;
// };
// str += "
"
// console.log(str);
// document.write(str);
// Task HTML tr color
// var str = ""
// for (let i=0;i < persons.length; i++){
// let tr = '';
// if (i % 2 == 0) {
// tr = '
';
// str += tr;
// };
// if (i % 2 != 0 ) {
// str += tr;
// };
// for (key in persons[i]) {
// str += ` ${key} | | ${persons[i][key]} | `;
// };
// str += '
';
// };
// str += "
"
// console.log(str);
// document.write(str);
//Task HTML th optional
// let str = "";
// let tr = '';
// let property = [];
// for (let i = 0; i < persons.length; i++ ) {
// for (key in persons[i]) {
// property.push(key);
// };
// };console.log(property);
// let propertyFiltr = property.filter(function(item, pos) {
// return property.indexOf(item) == pos;
// }); console.log(propertyFiltr);
// str += tr;
// for (let i = 0; i < propertyFiltr.length; i++){
// str += ` ${propertyFiltr[i]} | `;
// };
// str +='
';
// for (let i = 0; i < persons.length; i++) {
// str += tr;
// for (let q = 0; q < propertyFiltr.length; q++) {
// if(persons[i][propertyFiltr[q]] != undefined) {
// str += ` ${persons[i][propertyFiltr[q]]} | `;
// };
// if(persons[i][propertyFiltr[q]] == undefined) {
// str += ` - | `;
// };
// };
// str += '';
// };
// str += "
";
// console.log(str);
// document.write(str);
//Task Задание на синий пояс.
// function changeObjInHtmlTree (obj) {
// let str = '';
// let {tagName, subTags, text, attrs} = obj;
// str += `<${tagName} `;
// if (attrs){
// for (let [key, value] of Object.entries(attrs)){
// str += `${key} = ${value}`;
// };
// };
// str += `>`;
// if (text) {
// str += `${text}`;
// };
// if (subTags) {
// let children = subTags;
// for (let i = 0; i < children.length; i++) {
// let {tagName, subTags, text, attrs} = children[i];
// str += `<${tagName}`;
// if (attrs){
// for (let [key, value] of Object.entries(attrs)){
// str += `${key} = ${value}`;
// };
// };
// if (text) {
// str += `${text}`;
// };
// str += `>`;
// if (subTags) {
// let children1 = subTags;
// for (let q = 0; q < children1.length; q++){
// let {tagName, subTags, text, attrs} = children1[q];
// str += `<${tagName}> `;
// if (attrs){
// for (let [key, value] of Object.entries(attrs)){
// str += `${key} = ${value}`;
// };
// };
// if (text) {
// str += `${text}`;
// };
// str += `${tagName}>\n`;
// };
// str += `${tagName}>\n`;
// };
// };
// };
// str += `${tagName}>`;
// return (console.log(str));
// };
// var someTree = {
// tagName: "table", //html tag
// subTags: [ //вложенные тэги
// {
// tagName: "tr",
// subTags: [
// {
// tagName: "td",
// text: "some text",
// },
// {
// tagName: "td",
// text: "some text 2",
// }
// ]
// }
// ],
// attrs:
// {
// border: 1,
// },
// };
// changeObjInHtmlTree(someTree);
//Task destruct array
// let arr = [1,2,3,4,5, "a", "b", "c"];
// let [ odd1, even1, odd2, even2, odd3, ...arr1] = arr;
//Task destruct string
// let arr = [1, "abc"];
// let [number, [s1, s2, s3] ] = arr;
//Task destruct 2
// let obj = {name: 'Ivan',
// surname: 'Petrov',
// children: [{name: 'Maria'}, {name: 'Nikolay'}]}
// let {name, surname, children: [{name: name1}, {name: name2} ]} = obj;
//Task destruct 3
// let arr = [1,2,3,4, 5,6,7,10];
//let {length} = arr;
// let {0:n, 1:m, length} = arr; //a, b has already been declared
//Task Задание на черный пояс
// let history = "1212";
// let newValue = '1';
// let predictArray = {};
// for (let i = 0; newValue !== null; i++) {
// let predictValue = predictArray[history];
// newValue = prompt('Enter number 1 or 2');
// if (!(predictArray.hasOwnProperty(history))) {
// predictArray[history] = newValue;
// predictValue = Math.round( Math.random() * 2);
// };
// history += newValue;
// history = history.substring(1);
// newValue == predictValue ? alert('You are not winner') : alert('you guessed');
// };