// 3 persons // Сделать три ассоциативных массива a, b, c, в каждом из которых должны быть поля name и surname. // // + // // different fields let first = { name: "Lotos", surname: "White", age: 39, } let second = { name: "Viktorov", surname: "Viktorov", sex: 'male', } let third = { name: "Alla", surname: "Petrofanova", patronymic: "Viktorovna", } // // fields check // // Проверьте наличие необязательных полей у каждого из этих массивов. Если поле найдено, выведите его с помощью alert. Проверку делайте по typeof или in в if. if ("age" in first){ alert(first.age) } if ("patronymic" in third){ alert(third.patronymic) } if ("sex" in second){ alert(second.sex) } // // array of persons let personsFirst = [first, second, third, {name: 'Michael', surname: 'Phelps'}]; // console.log(persons); // loop of persons for(let persons of personsFirst) { // console.log(persons) } // // loop of name and surname // // Сделайте цикл, который выводит весь массив persons, но только Имя и Фамилию каждой персоны. // for(let person of personsFirst) { // console.log(person.name, person.surname); // } // loop of loop of values // for (let person of personsFirst) { // for (let value in person) { // console.log(person[value]); // } // } // fullName-------------------- // for (let person of personsFirst) { // someResult = person.name + ' ' + person.surname; // if("fathername" in person) { // someResult += ' ' + person.fathername; // } // }; // console.log(personsFirst) // serialize // Создайте JSON-строку из persons // let personChange = JSON.stringify(personsFirst); // console.log(personChange); // console.log(typeof personChange); // deserialize // Создайте ассоциативный массив с одной персоной из JSON-строки. Добавьте её в persons // let personDeserialize = JSON.parse(personChange)[0]; // personsFirst.push(personDeserialize); // console.log(personsFirst); // HTML // let str = "" // for (let persons of personsFirst){ // str += ` \n` // } // str += "
${persons.name}${persons.surname}
" // console.log(str) // document.write(str) // HTML optional fields + tr color + th optional // Сделайте цикл, который выводит весь массив persons, в форме HTML-таблицы. Имя и Фамилия, а так же другие поля при наличии. Колонки: поля, строки таблицы - персоны. let str = "" let index = 0; const newArr = []; for (const person of personsFirst) { index += 1; for (const key in Object.keys(person)) { if (!newArr.includes(Object.keys(person)[key])) { newArr.push(Object.keys(person)[key]); }; }; }; for (let i = 0; i < newArr.length; i++) { str += `` for (let k = 0; k < personsFirst.length; k++) { for (const key in personsFirst[k]) { if (key === newArr[i]) { str += ``; }; }; }; }; str += "
${newArr[i].toUpperCase()}${personsFirst[k][key]}
" document.write(str) // destruct array--------- // let arr = [1,2,3,4,5, "a", "b", "c"]; // let [odd1,even1,odd2,even2,odd3, ...letters] = arr; // alert(letters); // destruct string------------- // let arr = [1, "abc"]; // let [number, [s1,s2,s3]] = arr; // alert(s1+" "+s2+" "+s3); // destruct 2--------------- // let obj = {nameA: 'Ivan', // surname: 'Petrov', // children: [{name: 'Maria'}, {name: 'Nikolay'}]} // let = {nameA,surname,children:[{name :name1}, {name: name2}]} = obj; // alert(name2); // destruct 3------------------ // let arrDe3 = [1,2,3,4, 5,6,7,10] // let {0:n1, 1:n2, length} = arrDe3 // alert("n1 = " +n1 + " n2 = " + n2 + " length = " + length)