123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- //3 persons
- //different fields
- //fields check
- let a = {
- personName: "Vasya",
- surname: "Pupkin",
- age: 11
- };
- let b = {
- personName: "Ivan",
- surname: "Ivanov",
- secondName: "Ivanovich"
- };
- let c = {
- personName: "Kiril",
- surname: "Kirilovich",
- sex: "male"
- }
- let arrayOptionalFields = ["age", "secondName", "sex"];
- let getOptionalFields = function(arr) {
- for(let item of arrayOptionalFields) {
- if(item in arr) {
- alert(arr[item]);
- }
- }
- }
- getOptionalFields(a);
- getOptionalFields(b);
- getOptionalFields(c);
- //array of persons
- //loop of persons
- //loop of name and surname
- let persons = [{
- personName: "Vlad",
- surname: "Vladlen",
- relationship: false
- }];
- persons.push(a, b, c);
- for(let person of persons) {
- console.log(person.name);
- console.log(person.surname);
- }
- //loop of loop of values
- for(let person of persons) {
- let keysArr = Object.keys(person);
- for(let i = 0; i < keysArr.length; i++) {
- console.log(person[keysArr[i]]);
- }
- }
- //fullName
- for(let person of persons) {
- person["fullName"] = `${person.personName} ${person.surname}`;
- }
- //serialize
- let personsJSON = JSON.stringify(persons);
- //deserialize
- let hodorPerson = {
- personName: "Hodor",
- surname: "Hodor",
- favoritWord: "Hodor"
- }
- let hodorPersonJSON = JSON.stringify(hodorPerson);
- persons.push(JSON.parse(hodorPersonJSON));
- //HTML
- //HTML optional fields
- //HTML tr color
- //HTML th optional
- let allPersonsKey = []; //В этой переменной я буду хранить все ключи которые есть в объектах person
- let uniquePersonsKey = []; //Тут хранятся все уникальные ключи
- let counter = 0; //Это переменная быдет служить проверкой на четность и нечетность, с помощью этой проверки я буду красить строки через один
- for(let person of persons) { //Весь этот цыкл отвечает за создание массива с уникальными ключами
- let personKeyArr = Object.keys(person);
- for(let item of personKeyArr) {
- allPersonsKey.push(item);
- }
- uniquePersonsKey = [...new Set(allPersonsKey)];
- }
- let str = "<table>"; //Начинаю рисовать таблицу
- str += "<tr>";
- for(let i = 0; i < uniquePersonsKey.length; i++) { //Рисую шапку таблицы перечисляя все уникальные ключи
- str += `<th>${uniquePersonsKey[i]}</th>`;
- }
- str += "</tr>";
- for(let person of persons) { //Отрисовка тела таблицы
- let backgroundColor;
- counter++;
- if(counter%2) { //Тут идет проверка, четный ход или не четный
- backgroundColor = "yellow";
- } else {
- backgroundColor = "green";
- }
- str += `<tr style="background-color: ${backgroundColor}">`;
- for(let i = 0; i < uniquePersonsKey.length; i++) {
- str += `<td>${person[uniquePersonsKey[i]]}</td>`;
- }
- str += "</tr>";
- }
- str += "</table>";
- document.write(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,
- },
- }
- let str1 = `<${someTree.tagName}>`;
- for(let i = 0; i < someTree.subTags.length; i++) {
- str1 += `<${someTree.subTags[i].tagName}>`;
- for(let j = 0; j < someTree.subTags[i].subTags.length; j++) {
- str1 += `<${someTree.subTags[i].subTags[j].tagName}>${someTree.subTags[i].subTags[j].text}</${someTree.subTags[i].subTags[j].tagName}>`;
- }
- str1 += `</${someTree.subTags[i].tagName}>`;
- }
- str1 += `</${someTree.tagName}>`;
- document.write(str1);
- //destruct array
- let arr = [1,2,3,4,5, "a", "b", "c"];
- let [odd1, even1, odd2, even2, odd3, ...stringArr] = arr;
- //destruct string
- let arr1 = [1, "abc"];
- let [number, [s1, s2, s3]] = arr1;
- //destruct 2
- let obj = {name: 'Ivan',
- surname: 'Petrov',
- children: [{name: 'Maria'}, {name: 'Nikolay'}]};
- let [name1, name2] = obj.children;
- //Задание на черный пояс
- let predictArray = {
- 11: 1,
- };
- let history = "11";
- let userChose = 1;
- while(userChose) {
- userChose = prompt("Введите 1 или 2");
- alert(`Предсказываю ${predictArray[history]}`);
- predictArray[history] = +userChose;
- history += userChose;
- history = history.slice(1);
- }
|