Skip to content

Commit 7488ec6

Browse files
Balashov NikitaOlegLustenko
authored andcommitted
homework-5
1 parent a89861b commit 7488ec6

File tree

2 files changed

+174
-0
lines changed

2 files changed

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

0 commit comments

Comments
 (0)