|
@@ -0,0 +1,111 @@
|
|
|
|
+// 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
|