Примеры на создание функций в JavaScript

В этом уроке мы с вами будем отрабатывать полученные ранее знания по пользовательским функциям на практических задачах.

Пусть у нас дан какой-то произвольный массив с числами, например, такой:

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 (digit - это цифра), которая параметром будет принимать целое число и возвращать сумму его цифр.

Реализуйте функцию getDivisors, которая параметром будет принимать число и возвращать массив его делителей, то есть чисел, на которое делится наше число. К примеру, если мы передадим число 24 - мы должны получить массив [1, 2, 3, 4, 6, 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]