Skip to content

Commit 1f3528c

Browse files
homework-5
1 parent 6e1b259 commit 1f3528c

File tree

2 files changed

+168
-0
lines changed

2 files changed

+168
-0
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<!DOCTYPE html>
2+
<html lang="ru">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>test page</title>
6+
</head>
7+
<body>
8+
<script src="src/main.js"></script>
9+
</body>
10+
</html>
Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
/*
2+
1. Переместите 0 в конец массива, остальные числа должны остаться
3+
неизменными
4+
// concat
5+
example:
6+
[1,false,2,0,3,null,0,4,0,25] => [1, false, 2, 3, null, 4, 25, 0, 0, 0]
7+
[ 'a', 0, 0, 'b', null, 'c', 'd', 0, 1, false, 0, 1, 0, 3, [], 0, 1, 9, 0, 0, {}, 0, 0, 9 ] => ["a","b",null,"c","d",1,false,1,3,[],1,9,{},9,0,0,0,0,0,0,0,0,0,0]
8+
[ 0, 1, null, 2, false, 1, 0 ] => [1,null,2,false,1,0,0]
9+
*/
10+
let arr1 = [1, false, 2, 0, 3, null, 0, 4, 0, 25];
11+
let arr2 = [
12+
'a',
13+
0,
14+
0,
15+
'b',
16+
null,
17+
'c',
18+
'd',
19+
0,
20+
1,
21+
false,
22+
0,
23+
1,
24+
0,
25+
3,
26+
[],
27+
0,
28+
1,
29+
9,
30+
0,
31+
0,
32+
{},
33+
0,
34+
0,
35+
9
36+
];
37+
function moveZeroToEnd(arr) {
38+
for(let i=0;i<arr.length;i++){
39+
let index = arr[i];
40+
if(index===0){
41+
arr.splice(i,1);
42+
arr.push(index);
43+
}
44+
}
45+
return arr
46+
}
47+
console.log(moveZeroToEnd(arr1));
48+
console.log(moveZeroToEnd(arr2));
49+
/*
50+
2. Верните сумму двух найменьших чисел в массиве
51+
[10,20,30,1,31,11,10] => 11
52+
[-1,0,25] => -1
53+
[-4,-10,25,10] => -14
54+
[0,200,10,25,15] => 10
55+
*/
56+
57+
function minimalNumber(arr) {
58+
59+
arr = arr.sort(function compareNumeric(a, b) {
60+
if (a > b) return 1;
61+
if (a < b) return -1;
62+
}
63+
)
64+
let minNum1 = arr[0];
65+
let minNum2 = arr[1];
66+
return minNum1 + minNum2;
67+
}
68+
console.log(minimalNumber([10,20,30,1,31,11,10]));
69+
console.log(minimalNumber([-1,0,25]));
70+
console.log(minimalNumber([-4,-10,25,10]));
71+
console.log(minimalNumber([0,200,10,25,15]));
72+
73+
/*
74+
3. Напишите функцию которая меняет местами имя и фамилию
75+
nameShuffler('john McClane'); => "McClane john"
76+
nameShuffler('Arnold Schwarzenegger'); => "Schwarzenegger Arnold"
77+
nameShuffler('James Bond'); => "Bond James"
78+
*/
79+
80+
function nameShuffler(str) {
81+
let arr = str.split(' ');
82+
arr.reverse();
83+
let arrToStr = arr.join(' ');
84+
return arrToStr;
85+
}
86+
console.log(nameShuffler('James Bond'));
87+
console.log(nameShuffler('Arnold Schwarzenegger'));
88+
console.log(nameShuffler('john McClane'));
89+
90+
91+
/*
92+
// !
93+
4. Напишите функцию которая принимает массив с именами и возвращает массив
94+
в котором каждая буква становится заглавной
95+
capMe(['jo', 'nelson', 'jurie']) // returns ['Jo', 'Nelson', 'Jurie']
96+
capMe(['KARLY', 'DANIEL', 'KELSEY']) // returns ['Karly', 'Daniel', 'Kelsey']
97+
*/
98+
99+
function capMe(arr) {
100+
for(let i=0;i< arr.length ;i++){
101+
let elem = arr[i]
102+
elem = elem.toLowerCase()
103+
elem = elem.charAt(0).toUpperCase() + elem.slice(1);
104+
console.log(elem);
105+
}
106+
};
107+
capMe(['KARLY', 'DANIEL', 'KELSEY'])
108+
capMe(['jo', 'nelson', 'jurie'])
109+
110+
// @SUPER
111+
/*
112+
1. Найдите число отсутствующее в заданной последовательности
113+
example:
114+
[1,3,5,9] => 7 (9-1) / 4 == 2
115+
[0,8,16,32] => 24
116+
[4, 6, 8, 10] => 2 // число сначала
117+
[0,16,24,32] => 8
118+
*/
119+
120+
function random(arr) {
121+
}
122+
123+
random([1, 3, 5, 9]);
124+
random([0, 8, 16, 32]);
125+
random([0, 16, 24, 32]);
126+
random([4, 6, 8, 10]);
127+
128+
/*
129+
Задача с собеседований*
130+
2. Напишите функция которая преобразовывает/открывает скобки всех
131+
вложенных внутри массивов
132+
Необходимо реализовать рекурсивный фызов функции.
133+
Функция должна открывать любое количество внутренних массивов
134+
example:
135+
[[1,2],[3,[4]],5, 10] => [1,2,3,4,5,10]
136+
[25,10,[10,[15]]] => [25,10,10,15]
137+
*/
138+
139+
function openBraces(arr) {
140+
let newArr = [];
141+
if(Array.isArray(arr)){
142+
// console.log(arr)
143+
for(let i=0;i<arr.length;i++){
144+
let elem = arr[i];
145+
if(typeof elem == 'number'){
146+
newArr.push(elem)
147+
} else if(Array.isArray(elem)){
148+
newArr.push(elem);
149+
openBraces(elem);
150+
}
151+
}
152+
return `${newArr}`;
153+
}
154+
};
155+
156+
157+
console.log(openBraces([25,10,[10,[15]]]));
158+
console.log(openBraces([[1,2],[3,[4]],5, 10]));

0 commit comments

Comments
 (0)