Skip to content

Commit 152b057

Browse files
homework_15
1 parent e65dd72 commit 152b057

File tree

3 files changed

+650
-0
lines changed

3 files changed

+650
-0
lines changed
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<title>homework_15</title>
5+
<meta charset="utf-8" />
6+
<link href="https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
7+
<link rel="stylesheet" type="text/css" href="style.css">
8+
</head>
9+
<body>
10+
<header class="header">
11+
<div class="container top-radius">
12+
<h2>Contacts</h2>
13+
</div>
14+
</header>
15+
16+
<main>
17+
<div class="container">
18+
<form class="form-inline search-form">
19+
<div class="form-group">
20+
<label class="sr-only" for="search">Search</label>
21+
<input type="text" class="form-control" id= "search" placeholder="Search">
22+
</div>
23+
</form>
24+
<!-- <table class="table table-hover contacts">
25+
<thead>
26+
<tr>
27+
<th>Name</th>
28+
<th>Last name</th>
29+
<th>Email</th>
30+
</tr>
31+
</thead>
32+
<tbody>
33+
<tr>
34+
<td>Иван</td>
35+
<td>Петров</td>
36+
37+
</tr>
38+
<tr>
39+
<td>Сергей</td>
40+
<td>Сергеев</td>
41+
42+
</tr>
43+
<tr>
44+
<td>Иван</td>
45+
<td>Иванов</td>
46+
47+
</tr>
48+
<tr>
49+
<td>Александр</td>
50+
<td>Александров</td>
51+
52+
</tr>
53+
<tr>
54+
<td>Алекс</td>
55+
<td>Смирнов</td>
56+
57+
</tr>
58+
<tr>
59+
<td>Сергей</td>
60+
<td>Волков</td>
61+
62+
</tr>
63+
<tr>
64+
<td>Мария</td>
65+
<td>Шарапова</td>
66+
67+
</tr>
68+
<tr>
69+
<td>Александр</td>
70+
<td>Винник</td>
71+
72+
</tr>
73+
<tr>
74+
<td>Дарий</td>
75+
<td>Смирнов</td>
76+
77+
</tr>
78+
<tr>
79+
<td>Елена</td>
80+
<td>Лещенко</td>
81+
82+
</tr>
83+
<tr>
84+
<td>Ольга</td>
85+
<td>Новикова</td>
86+
87+
</tr>
88+
<tr>
89+
<td>Наталья</td>
90+
<td>Шемякина</td>
91+
92+
</tr>
93+
<tr>
94+
<td>Анна</td>
95+
<td>Донцова</td>
96+
97+
</tr>
98+
<tr>
99+
<td>Влад</td>
100+
<td>Яма</td>
101+
102+
</tr>
103+
<tr>
104+
<td>Кира</td>
105+
<td>Воробьева</td>
106+
107+
</tr>
108+
<tr>
109+
<td>Виктор</td>
110+
<td>Кривенко</td>
111+
112+
</tr>
113+
</tbody>
114+
</table> -->
115+
</div>
116+
</main>
117+
<footer class="footer">
118+
<div class="container bottom-radius">
119+
<nav class="main-nav">
120+
<a href="index.html" class="tab active">
121+
<span class="glyphicon glyphicon-search" aria-hidden="true"></span>
122+
<span class = "tab-text">Contacts</span>
123+
</a>
124+
<a href="keypad.html" class="tab">
125+
<span class="glyphicon glyphicon-th" aria-hidden="true"></span>
126+
<span class = "tab-text">Keypad</span>
127+
</a>
128+
<a href="edit-contact.html" class="tab">
129+
<span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
130+
<span class = "tab-text">Edit contact</span>
131+
</a>
132+
<a href="user.html" class="tab">
133+
<span class="glyphicon glyphicon-user" aria-hidden="true"></span>
134+
<span class = "tab-text">User</span>
135+
</a>
136+
<a href="add-user.html" class="tab">
137+
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
138+
<span class = "tab-text">Add user</span>
139+
</a>
140+
</nav>
141+
</div>
142+
</footer>
143+
144+
<script src="index.js"></script>
145+
</body>
146+
</html>
Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
// TASK 1
2+
const solution = str => {
3+
let regExpLetter = /[a-z]/g;
4+
let regExpNunber = /[0-9]/;
5+
if(str.search(regExpNunber) === 0){
6+
return false;
7+
};
8+
if(str.search(regExpLetter) === 0) {
9+
let arrFromRegExp = str.match(regExpLetter);
10+
let newArrWithoutRepetition = [];
11+
for(let i = 0; i < arrFromRegExp.length; i++) {
12+
for(let k = 0; k < newArrWithoutRepetition.length; k++) {
13+
if(newArrWithoutRepetition[k] == arrFromRegExp[i]) {
14+
newArrWithoutRepetition.splice(k, 1);
15+
};
16+
};
17+
newArrWithoutRepetition.push(arrFromRegExp[i]);
18+
};
19+
if(newArrWithoutRepetition.length === 26 ) {
20+
return true;
21+
} else{
22+
return false;
23+
};
24+
};
25+
};
26+
27+
console.log('Task1 ---> ', solution("wyyga"));//false
28+
console.log('Task1 ---> ', solution("qwertyuioplkjhgfdsazxcvbnm")); //true
29+
console.log('Task1 ---> ', solution("ejuxggfsts")); //false
30+
console.log('Task1 ---> ', solution("qpwoeirutyalskdjfhgmznxbcv")); //true
31+
console.log('Task1 ---> ', solution("qqqqqqqqpwoeirutyallskkdjfhgmmznxbcv")); //true
32+
console.log('Task1 ---> ', solution("0123456789abcdefghijklmnop")); //false
33+
34+
35+
36+
//TASK2
37+
const flatten = arr => {
38+
let arr2 = [];
39+
arr.forEach((elem) => {
40+
if(!Array.isArray(elem)) {
41+
arr2.push(elem);
42+
} else {
43+
arr2 = arr2.concat(flatten(elem));
44+
};
45+
});
46+
return arr2;
47+
};
48+
49+
console.log('Task2 ---> ', flatten([1, [2, [ {a: "b", c: 'd' }, { c: [1, 2, 5] } ] ] ]));
50+
console.log('Task2 ---> ', flatten([[1,2],[3,[4]],5, 10]));
51+
console.log('Task2 ---> ', flatten([25, 10, [10, [15]]]));
52+
53+
54+
55+
56+
//Task3
57+
const dataUsers = [
58+
{
59+
name: 'Иван',
60+
lastName: 'Петров',
61+
62+
},
63+
{
64+
name: 'Сергей',
65+
lastName: 'Сергей',
66+
67+
},
68+
{
69+
name: 'Иван',
70+
lastName: 'Иванов',
71+
72+
},
73+
{
74+
name: 'Александр',
75+
lastName: 'Александров',
76+
77+
},
78+
{
79+
name: 'Алекс',
80+
lastName: 'Смирнов',
81+
82+
},
83+
{
84+
name: 'Сергей',
85+
lastName: 'Волков',
86+
87+
},
88+
{
89+
name: 'Мария',
90+
lastName: 'Шарапова',
91+
92+
},
93+
{
94+
name: 'Александр',
95+
lastName: 'Винник',
96+
97+
},
98+
{
99+
name: 'Дарий',
100+
lastName: 'Смирнов',
101+
102+
},
103+
{
104+
name: 'Елена',
105+
lastName: 'Лещенко',
106+
107+
},
108+
{
109+
name: 'Ольга',
110+
lastName: 'Новикова',
111+
112+
},
113+
{
114+
name: 'Наталья',
115+
lastName: 'Шемякина',
116+
117+
},
118+
{
119+
name: 'Анна',
120+
lastName: 'Донцова',
121+
122+
},
123+
{
124+
name: 'Влад',
125+
lastName: 'Яма',
126+
127+
},
128+
{
129+
name: 'Кира',
130+
lastName: 'Воробьева',
131+
132+
},
133+
{
134+
name: 'Виктор',
135+
lastName: 'Кривенко',
136+
137+
}
138+
];
139+
140+
const columnHeadings = ['Name', 'Last name', 'Email'];
141+
142+
function render() {
143+
let createNewElement = function(newElem) {
144+
return document.createElement(newElem);
145+
};
146+
let table = createNewElement('table');
147+
table.setAttribute('class', 'table table-hover contacts');
148+
let insert = document.querySelector('main > div');
149+
let thead = createNewElement('thead');
150+
table.appendChild(thead);
151+
let tr = createNewElement('tr');
152+
thead.appendChild(tr);
153+
columnHeadings.forEach((elem) => {
154+
let th = createNewElement('th');
155+
th.textContent = elem;
156+
tr.appendChild(th);
157+
});
158+
let tbody = createNewElement('tbody');
159+
table.appendChild(tbody);
160+
dataUsers.forEach((elem) => {
161+
let trInTbody = createNewElement('tr')
162+
tbody.appendChild(trInTbody);
163+
let arrObjkeys = Object.keys(elem);
164+
arrObjkeys.forEach((elemTd) => {
165+
let td = createNewElement('td');
166+
td.textContent = elem[elemTd];
167+
trInTbody.appendChild(td);
168+
});
169+
});
170+
return insert.appendChild(table);
171+
};
172+
173+
render();

0 commit comments

Comments
 (0)