В этом уроке мы с вами будем отрабатывать полученные ранее знания по пользовательским функциям на практических задачах.
Пусть у нас дан какой-то произвольный массив с числами, например, такой:
let arr = [1, 2, 3, 4];
Пусть теперь перед нами, к примеру, стоит задача найти сумму элементов этого массива.
Пока не будем использовать пользовательские функции, чтобы показать, какие проблемы возникнут в этом случае. Давайте напишем код, реализующий нашу задачу:
let arr = [1, 2, 3, 4];
// Код, находящий сумму:
let sum = 0;
for (let elem of arr) {
sum += elem;
}
alert(sum);
Пусть теперь у нас даны два массива:
let arr1 = [1, 2, 3, 4];
let arr2 = [5, 6, 7, 8];
Пусть теперь перед нами стоит задача найти сумму элементов и одного массива, и второго. В этом случае нам придется код, находящий сумму, повторить два раза: для первого и для второго массива, вот так:
let arr1 = [1, 2, 3, 4];
let arr2 = [5, 6, 7, 8];
// Код, находящий сумму первого массива:
let sum1 = 0;
for (let elem of arr1) {
sum1 += elem;
}
// Код, находящий сумму второго массива:
let sum2 = 0;
for (let elem of arr2) {
sum2 += elem;
}
// Код, выводящий найденные суммы:
alert(sum1);
alert(sum2);
Как мы видим, у нас возникает дублирование кода. Давайте избавимся от него, создав свою функцию, находящую сумму элементов переданного параметром массива. Вот код этой функции:
function getSum(arr) {
let sum = 0;
for (let elem of arr) {
sum += elem;
}
return sum;
}
Используем теперь нашу функцию для нахождения суммы одного и второго массива:
function getSum(arr) {
let sum = 0;
for (let elem of arr) {
sum += elem;
}
return sum;
}
let arr1 = [1, 2, 3, 4];
let arr2 = [5, 6, 7, 8];
alert(getSum(arr1));
alert(getSum(arr2));
Напишите функцию, которая будет находить сумму квадратов элементов массива.
Сделайте функцию getDigitsSum
, которая
параметром будет принимать целое число и
возвращать сумму его цифр.
Реализуйте функцию getDivisors
, которая
параметром будет принимать число и возвращать
массив его делителей, то есть чисел, на которое
делится наше число. К примеру, если мы передадим
число 24
- мы должны получить следующий
массив:
[1, 2, 3, 4, 6, 8, 12, 24]
Сделайте функцию reverseStr
, которая
параметром будет принимать строку и переворачивать
ее символы в обратном порядке. Решите задачу
без цикла, используя комбинацию стандартных
функций JavaScript.
Сделайте функцию delElem
, которая
параметрами будет принимать значение и массив
и удалять из массива все элементы с таким
значением.
Сделайте функцию, заполняющую массив целыми
числами от 1
до заданного. Пример
работы такой функции:
console.log(func(5)); // выведет [1, 2, 3, 4, 5]
Сделайте функцию, заполняющую массив целыми числами от начального до конечного заданных чисел. Пример работы такой функции:
console.log(func(3, 7)); // выведет [3, 4, 5, 6, 7]