123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 |
- // 3 persons
- // Сделать три ассоциативных массива a, b, c, в каждом из которых должны быть поля name и surname.
- // let a = {
- // name: 'S',
- // surname: 'H',
- // }
- // let b = {
- // name: 'S',
- // surname: 'H',
- // }
- // let c = {
- // name: 'S',
- // surname: 'H',
- // }
- // different fields
- // Добавьте некоторые другие поля (например age, fathername, sex (пол)) так, что бы набор полей отличался у разных объектов
- let a = {
- name: 'Ania',
- surname: 'Lampa',
- fathername: 'Ivanovna',
- }
- let b = {
- name: ' Serg',
- surname: 'Dez',
- age: 18,
- }
- let c = {
- name: ' Dema',
- surname: ' Antoshkin',
- sex: 'man',
- }
- // fields check
- // Проверьте наличие необязательных полей у каждого из этих массивов. Если поле найдено, выведите его с помощью alert. Проверку делайте по typeof или in в if.
- for (let key in a) {
- if (key != "name" && key != "surname") {
- alert(`${key} поле необезательно.`)
- }
- }
- for (let key in b) {
- if (key != "name" && key != "surname") {
- alert(`${key} поле необезательно.`)
- }
- }
- for (let key in c) {
- if (key != "name" && key != "surname") {
- alert(`${key} поле необезательно.`)
- }
- }
- // array of persons
- // Добавьте несколько ассоциативных массивов с персонами в обычный массив persons, например a,b,c. Так же добавьте персону литерально ({...}). Получится обычный массив с элементами-ассоциативными массивами с персонами.
- let persons = []
- persons.push(a);
- persons.push(b);
- persons.push(c);
- persons.push({ name: "Ilya", surname: "Babka", fathername: "nety", age: 31, });
- // loop of persons
- // Сделайте цикл, который выводит весь массив persons в форме объектов console.log(persons[i])
- for (let i = 0; i < persons.length; i++) {
- console.log(persons[i])
- }
- for (let i of persons) {
- console.log(i);
- }
- // loop of name and surname
- // Сделайте цикл, который выводит весь массив persons, но только Имя и Фамилию каждой персоны.
- for (let i of persons) {
- for (let [key, val] of Object.entries(i)) {
- if (key == "name" || key == "surname") {
- console.log([key, val]);
- }
- }
- }
- // loop of loop of values
- // Сделайте цикл, который выводит весь массив persons, но только значения всех полей из объектов. Используйте вложенный цикл
- for (let i of persons) {
- for (let value of Object.values(i)) {
- console.log(value);
- }
- }
- // fullName
- // Сделайте цикл, которых добавляет поле fullName в каждый объект, содержащий ФИО.Учтите, что поле fathername не является обязательным.
- for (let i of persons) {
- if (!i.fathername) {
- i.fathername = 'NET';
- }
- i.fullname = `${i.surname} ${i.name} ${i.fathername}`
- }
- console.log(persons)
- // serialize
- // Создайте JSON-строку из persons
- let json = JSON.stringify(persons);
- console.log(typeof json);
- console.log(json)
- // deserialize
- // Создайте ассоциативный массив с одной персоной из JSON-строки. Добавьте её в persons
- // Пыталась сделать с помощью интернета не получилось
- // HTML
- // Сделайте цикл, который выводит весь массив persons, в форме HTML-таблицы. Имя и Фамилия - колонки
- // let strResult = `<table border="2" width= "200px" bgcolor="pink" cellpadding="10px" align="center" >`;
- // strResult+= `<tr><td>name</td> <td>surname</td></tr>`;
- // for (i in persons) {
- // strResult += `<tr><td>${(persons[i].name) || ""}</td><td>${(persons[i].name) || ""}</td></tr>`;
- // };
- // strResult+= `</table>`;
- // document.write(strResult);
- // HTML optional fields
- // Сделайте цикл, который выводит весь массив persons, в форме HTML-таблицы. Имя и Фамилия, а так же другие поля при наличии. Колонки: поля, строки таблицы - персоны.
- // let strResult = `<table border="2" width= "200px" bgcolor="pink" cellpadding="10px" align="center" >`;
- // strResult+= `<tr><td>name</td> <td>surname</td></tr>`;
- // for (let i of persons) {
- // strResult+= `<tr>`;
- // for (let [key,value] of Object.entries(i)) {
-
- // strResult +=`<td>${key}</td><td>${value}</td>`;
- // }
- // strResult+=`</tr>`
- // }
- // strResult+='</table>';
- // document.write(strResult);
- // HTML tr color
- // Добавьте к предыдущему примеру раскраску через строчку используя другой стиль тэга tr.
- let strResult = `<table border="2" width= "200px" bgcolor="pink" cellpadding="10px" align="center" >`;
- strResult+= `<tr><td>name</td> <td>surname</td></tr>`;
- k = 0;
- for (let i of persons) {
- // strResult+= `<tr>`;
- if (k % 2 == 0) strResult+= `<tr style="background-color: yellow;" >`;
- else strResult+= `<tr>`;
- for (let [key,value] of Object.entries(i)) {
-
- strResult +=`<td>${key}</td><td>${value}</td>`;
- }
- strResult+=`</tr>`
- k++
- }
- strResult+='</table>';
- document.write(strResult);
- // destruct array
- // let arr = [1,2,3,4,5, "a", "b", "c"]
- // напишите код, который используя деструктуризацию положит:
- // четные числа в переменные even1, even2,
- // нечетные в odd1, odd2, odd3,
- // буквы в отдельный массив
- let arr = [1,2,3,4,5, "a", "b", "c"]
- console.log(arr)
- let [odd1,even1,odd2,even2,odd3,...abc]=arr
- console.log(odd1)
- console.log(odd2)
- console.log(odd3)
- console.log(even1)
- console.log(even2)
- console.log(abc)
- // destruct string
- // let arr = [1, "abc"]
- // напишите код, который используя деструктуризацию положит:
- // число в переменную number
- // букву a в переменную s1
- // букву b в переменную s2
- // букву c в переменную s3
- let arr = [1, "abc"]
- let[number,abc]=arr
- let[s1,s2,s3] = abc.split("")
- console.log(number)
- console.log(s1)
- console.log(s2)
- console.log(s3)
- // destruct 2
- // let obj = {name: 'Ivan',
- // surname: 'Petrov',
- // children: [{name: 'Maria'}, {name: 'Nikolay'}]}
- // извлеките используя деструктуризацию имена детей в переменные name1 и name2
- let obj = {name: 'Ivan',
- surname: 'Petrov',
- children: [{name: 'Maria'}, {name: 'Nikolay'}]}
- let { children: [{ name: name1 }, { name: name2 }] } = obj
- console.log(name1)
- console.log(name2)
- // destruct 3
- // let arr = [1,2,3,4, 5,6,7,10]
- // извлеките используя деструктуризацию объектов два первых элемента и длину массива в переменные a, b и length
- let arr = [1,2,3,4, 5,6,7,10]
- let {length: length, [0]: a, [1]: b,}=arr
- console.log(length)
- console.log(a)
- console.log(b)
- // //////////////////////
|