-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.js
More file actions
125 lines (115 loc) · 4.29 KB
/
Copy pathmain.js
File metadata and controls
125 lines (115 loc) · 4.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/*
TASK 0. Найдите числа которые повторяются нечетное количество раз
в массиве
solution([12, 23, 34, 12, 12, 23, 12, 45]) -> [34 45]
solution([4, 4, 100, 5000, 4, 4, 4, 4, 4, 100, 100,]) -> [4 100 5000]
solution([3, 3, 4, 6, 4, 5, 9, 9, 21, 9]) -> [6 5 9 21]
solution([4, 8, 15, 16, 23, 42, 4, 15, 42, 42]) -> [8 16 23 42]
solution([2, 2, 44, 44]) => []
*/
let solution1 = arr => {
let array = [];
let obj = {}
arr.forEach(elem => {
if (obj[elem]) {
obj[elem]++;
}
else{
obj[elem] = 1}
});
let keys = Object.keys(obj)
keys.map(elem => {
if(obj[elem] % 2 != 0){
array.push(elem)
}
})
return array
}
console.log(solution1([12, 23, 34, 12, 12, 23, 12, 45]));
console.log(solution1([4, 4, 100, 5000, 4, 4, 4, 4, 4, 100, 100,]))
const someWebpackModule = `module.exports = {
context: %%HOMEDIR%,
entry: {
app: "%%HOMEDIR%%/%%APP_DIR%%/%%APPNAME%%.js"
},
output: {
path: %%HOMEDIR%% + '/app',
filename: "dist/[%%APPNAME%%].js",
library: '[%%APPNAME%%]'
}
}`;
let regStr = (str,startValue, finalValue ) => {
var regexp = new RegExp(startValue, "g", "m", "i");
let newStr = str.replace(regexp, finalValue);
console.log(newStr);
}
regStr(someWebpackModule, '%%HOMEDIR%%', './JavaScript-Basic');
regStr(someWebpackModule, '%%APP_DIR%%', 'fixtures/src');
regStr(someWebpackModule, '%%APPNAME%%', 'app.js');
/* TASK - 1
Распарсите строку и замените
%%HOMEDIR%% -> './JavaScript-Basic'
%%APP_DIR%% -> 'fixtures/src'
%%APPNAME%% -> 'app.js'
Вам нужно написать функцию которая в зависимости от разных параметров
будет изменять заданные значения на необходимые вам
Сделайте несколько вызовов данной функции
*
* */
/*
TASK - 2
Сделайте разметку как скриншоте используя HTML
вам необходимо использовать тэги(!)
*/
/*
TASK 3
JavaScript =>
Создать объект с методами, которые будут динамически генерировать DOM
Это будет тест, который мы будем разрабатывать в следующих заданиях.
Сейчас вам нужно только динамически создать html,
методы должны храниться в одном объекте.
Изначально на странице должен быть только <body>,
вызывая методы объекта нужно создать dom-элементы
*/
let test = {
render(){
let main = document.createElement('main')
let section = document.createElement('section')
let h1 = document.createElement('h1')
let article = document.createElement('article')
let input = document.createElement('input')
main.setAttribute('id', 'main')
main.appendChild(section)
section.appendChild(h1)
h1.innerHTML = 'Тест по программированию'
section.appendChild(article)
let arrWithQustion = [
'1. Вопрос №1',
'2. Вопрос №2',
'3. Вопрос №3'
]
let arrWithAnswers = [
'Вариант ответа №1',
'Вариант ответа №2',
'Вариант ответа №3'
]
arrWithQustion.forEach(elem=>{
let ul = document.createElement('ul')
ul.innerHTML = elem;
article.appendChild(ul)
arrWithAnswers.forEach(elem=>{
let li = document.createElement('li')
let input = document.createElement('input')
input.setAttribute('type', 'checkbox')
ul.appendChild(li)
li.appendChild(input)
input.innerHTML = elem;
})
})
article.appendChild(input)
input.setAttribute('type', 'submit')
input.setAttribute('value', 'Проверить результат')
document.body.appendChild(main)
}
}
test.render();