16 KiB
📔 День 6
Циклы
Большинство действий, которые мы делаем в жизни, полны повторений. Представьте себе, если я попрошу вас распечатать от 0 до 100, используя console.log()
. Для реализации этой простой задачи может потребоваться от 2 до 5 минут, такая утомительная и повторяющаяся задача может быть выполнена с помощью цикла.
В языках программирования для выполнения повторяющихся задач мы используем разные виды циклов. Следующие примеры представляют собой наиболее часто используемые циклы.
Цикл for
// Структура цикла for
for(initialization, condition, increment/decrement){
// код идет здесь
}
for (let i = 0; i <= 5; i++) {
console.log(i);
}
// 0 1 2 3 4 5
for (let i = 5; i >= 0; i--) {
console.log(i);
}
// 5 4 3 2 1 0
for (let i = 0; i <= 5; i++) {
console.log(`${i} * ${i} = ${i * i}`);
}
0 * 0 = 0
1 * 1 = 1
2 * 2 = 4
3 * 3 = 9
4 * 4 = 16
5 * 5 = 25
const countries = ["Finland", "Sweden", "Denmark", "Norway", "Iceland"];
const newArr = [];
for (let i = 0; i < countries.length; i++) {
newArr.push(countries[i].toUpperCase());
}
//["FINLAND", "SWEDEN", "DENMARK", "NORWAY", "ICELAND"]
Добавление всех элементов в массив
const numbers = [1, 2, 3, 4, 5];
let sum = 0;
for (let i = 0; i < numbers.length; i++) {
sum = sum + numbers[i]; // можно сократить: sum += numbers[i]
}
console.log(sum); // 15
Создание нового массива на основе существующего массива
const numbers = [1, 2, 3, 4, 5];
const newArr = [];
let sum = 0;
for (let i = 0; i < numbers.length; i++) {
newArr.push(i * i);
}
console.log(newArr); // [1, 4, 9, 16, 25]
const countries = ["Finland", "Sweden", "Norway", "Denmark", "Iceland"];
const newArr = [];
for (let i = 0; i < countries.length; i++) {
newArr.push(countries[i].toUpperCase());
}
console.log(newArr); // ["FINLAND", "SWEDEN", "NORWAY", "DENMARK", "ICELAND"]
Цикл while
let i = 0;
while (i <= 5) {
console.log(i);
i++;
}
// 0 1 2 3 4 5
Цикл do while
let i = 0;
do {
console.log(i);
i++;
} while (i <= 5);
// 0 1 2 3 4 5
Цикл for of
Мы используем для цикла для массивов. Это очень удобный способ перебора массива, если мы не заинтересованы в индексе.
for (const element of arr) {
// код идет здесь
}
const numbers = [1, 2, 3, 4, 5];
for (const num of numbers) {
console.log(num); //1 2 3 4 5
}
for (const num of numbers) {
console.log(num * num); //1 4 9 16 25
}
// добавление всех чисел в массиве
let sum = 0;
for (const num of numbers) {
sum += sum + num; // можно также сократить, как это: sum += num
}
console.log(sum); // 15
const webTechs = [
"HTML",
"CSS",
"JavaScript",
"React",
"Redux",
"Node",
"MongoDB"
];
for (const tech of webTechs) {
console.log(tech.toUpperCase()); // HTML CSS JAVASCRIPT REACT NODE MONGODB
}
for (const tech of webTechs) {
console.log(tech[0]); // получить только первую букву каждого элемента, H C J R N M
}
const countries = ["Finland", "Sweden", "Norway", "Denmark", "Iceland"];
const newArr = [];
for (const country of countries) {
newArr.push(country.toUpperCase());
}
console.log(newArr); // ["FINLAND", "SWEDEN", "NORWAY", "DENMARK", "ICELAND"]
break
контент будет добавлен в ближайшее время
continue
контент будет добавлен в ближайшее время
🌕 Ты такой смелый, что дошел так далеко. Теперь вы получили возможность автоматизировать повторяющиеся и утомительные задачи. Вы только что завершили 6-й день испытаний, и вы на 6 ступенек на пути к успеху. Теперь сделайте несколько упражнений для вашего мозга и ваших мышц.
💻 Упражнения: День 6
Упражнения: Уровень 1
const countries = [
"Albania",
"Bolivia",
"Canada",
"Denmark",
"Ethiopia",
"Finland",
"Germany",
"Hungary",
"Ireland",
"Japan",
"Kenya"
];
const webTechs = [
"HTML",
"CSS",
"JavaScript",
"React",
"Redux",
"Node",
"MongoDB"
];
const mernStack = ["MongoDB", "Express", "React", "Node"];
-
Выполните итерацию от 0 до 10 с помощью цикла
for
, сделайте то же самое с помощью цикловwhile
иdo while
-
Итерируйте 10 к 0, используя цикл
for
, cделайте то же самое, используя циклwhile
иdo while
-
Итерируйте от 0 до n, используя цикл
for
-
Напишите цикл, который создает следующий шаблон, используя
console.log()
:# ## ### #### ##### ###### #######
-
Используйте цикл для печати следующего шаблона:
0 x 0 = 0 1 x 1 = 1 2 x 2 = 4 3 x 3 = 9 4 x 4 = 16 5 x 5 = 25 6 x 6 = 36 7 x 7 = 49 8 x 8 = 64 9 x 9 = 81 10 x 10 = 100
-
Используя цикл, напечатайте следующий шаблон
i i^2 i^3 0 0 0 1 1 1 2 4 8 3 9 27 4 16 64 5 25 125 6 36 216 7 49 343 8 64 512 9 81 729 10 100 1000
-
Используйте цикл для перебора от 0 до 100 и печати только четных чисел.
-
Используйте цикл для итерации от 0 до 100 и выведите только нечетные числа
-
Используйте цикл для итерации от 0 до 100 и печатайте только простые числа
-
Используйте цикл для итерации от 0 до 100, распечатайте и распечатайте сумму всех чисел.
Сумма всех чисел 5050.
-
Используйте цикл
for
для итерации от 0 до 100 и выведите сумму всех четных чисел и сумму всех коэффициентов.The sum of all evens is 2550. And the sum of all odds is 2500.
-
Используйте цикл
for
для итерации от 0 до 100 и выведите сумму всех четных чисел и сумму всех шансов. Вывести сумму четных и сумму шансов в виде массива[2550, 2500]
-
Разработайте небольшой скрипт, который генерирует массив из 5 случайных чисел
-
Разработайте небольшой скрипт, который генерирует массив из 5 случайных чисел, числа должны быть уникальными
-
Разработайте небольшой скрипт, который генерирует случайный идентификатор из шести символов:
5j2khz
Упражнения: Уровень 2
-
Разработайте небольшой скрипт, который генерирует произвольное количество символов случайного идентификатора:
fe3jo1gl124g
xkqci4utda1lmbelpkm03rba
-
Напишите скрипт, который генерирует случайное шестнадцатеричное число
'#ee33df'
-
Напишите скрипт, который генерирует случайное число цветов RGB.
rgb(240,180,80)
-
Используя вышеуказанный массив стран, создайте следующий новый массив.
["ALBANIA", "BOLIVIA", "CANADA", "DENMARK", "ETHIOPIA", "FINLAND", "GERMANY", "HUNGARY", "IRELAND", "JAPAN", "KENYA"]
-
Используя приведенный выше массив стран, создайте массив для длины стран.
[7, 7, 6, 7, 8, 7, 7, 7, 7, 5, 5]
-
Используйте массив стран для создания следующего массива массивов:
[ ['Albania', 'ALB', 7], ['Bolivia', 'BOL', 7], ['Canada', 'CAN', 6], ['Denmark', 'DEN', 7], ['Ethiopia', 'ETH', 8], ['Finland', 'FIN', 7], ['Germany', 'GER', 7], ['Hungary', 'HUN', 7], ['Ireland', 'IRE', 7], ['Japan', 'JAP', 5], ['Kenya', 'KEN', 5] ]
-
В приведенном выше массиве стран проверьте, существует ли страна или страны, содержащие слово 'land'. Если есть страны, содержащие 'land', выведите ее в виде массива. Если нет страны, содержащей слово 'land', выведите «All these are countries without land».
['Finland', 'Iceland']
-
В приведенном выше массиве стран проверьте, существует ли страна или страны, заканчивающиеся на «ia». Если есть страны, оканчивающиеся на, распечатайте его, как массив. Если нет страны, содержащей слово «ai», выведите «Эти страны заканчиваются без ia».
['Albania', 'Bolivia','Ethiopia']
-
Используя приведенный выше массив стран, найдите страну, содержащую наибольшее количество символов.
Ethiopia
-
Используя приведенный выше массив стран, найдите страну, содержащую всего 5 символов.
['Japan', 'Kenya']
-
Найдите самое длинное слово в массиве webTechs.
-
Используйте webTechs для создания следующего массива массивов:
[["HTML", 4], ["CSS", 3],["JavaScript", 10],["React", 5],["Redux", 5],["Node", 4],["MongoDB", 7]]
-
Приложение, созданное с использованием MongoDB, Express, React и Node, называется стеком MERN. Создайте аббревиатуру MERN с помощью массива mernStack.
-
Итерируйте по массиву,
["HTML", "CSS", "JS", "React", "Redux", "Node", "Express", "MongoDB"]
, используя циклfor
или циклfor of
печатайте из предметов. -
Это массив фруктов
['banana', 'orange', 'mango', 'lemon']
измените порядок, используя цикл, без использования обратного метода. -
Распечатайте все элементы массива, как показано ниже.
const fullStack = [ ["HTML", "CSS", "JS", "React"], ["Node", "Express", "MongoDB"] ];
HTML CSS JS REACT NODE EXPRESS MONGODB
Упражнения: Уровень 3
- Скопируйте массив стран (избегайте мутаций)
- Массивы изменчивы. Создайте копию массива, которая не изменяет оригинал. Сортировать скопированный массив и сохранить в переменной sortedCountries
- Отсортируйте массив
webTechs
и массивmernStack
- Извлеките все страны содержащие слово 'land' в массив стран и распечатайте его как массив
- Найдите страну, содержащую наибольшее количество символов в массиве стран
- Извлеките все страны содержащие слово 'land' from the массив стран и распечатайте его как массив
- Извлеките все страны, содержащие только четыре символа из массива стран и распечатайте его как массив
- Извлеките все страны, содержащие два или более слов из массив стран и распечатайте его как массив
- Разверните массив стран и примените метод capitalize для каждой страны, храня его в виде массива
🎉 ПОЗДРАВЛЯЕМ ! 🎉