Урок 16. Практика на пользовательские функции в JavaScript

Урок 16. Практика на пользовательские функции в JavaScript

Создание и раскрутка сайтов

Вбиваю в ТОП-10, как гвозди

8-965-148-98-02, diplom07@mail.ru

Создание и раскрутка сайтов

Вбиваю в ТОП-10, как гвозди

8-965-148-98-02, diplom07@mail.ru

Урок 16. Практика на пользовательские функции в JavaScript

Урок 16. Практика на пользовательские функции в JavaScript

www.homa.xp3.biz 

Теория

Функция inArray

Задача

Реализовать функцию inArray, которая будет проверять, есть ли в массиве элемент с таким значением или нет. 1-м параметром функция должна принимать значение, а 2-м - массив. Если такой элемент есть - функция должна вернуть true, а если нет - false.

Решение:

function inArray(value,a){for(i=0;i<a.length;i++){if(a[i]==value){return true}}return false};a=[1,2,3];document.write(inArray(3,a))//Выведет true

function inArray(value,a){for(i=0;i<a.length;i++){if(a[i]==value){return true}}return false};a=[1,2,3];document.write(inArray(8,a))

Простые числа

Задача

Реализовать функцию isSimple, которая параметром будет принимать число и проверять, простое оно или нет. Если число простое, функция должна вернуть true, в противном случае - false.

Решение:

Самый простой способ проверить число на простоту - попробовать поделить его на все числа от 2 до самого числа (на само число не делить). Если ни на 1 из этих чисел число не делится, - оно простое, если хотя бы на 1 делится, вернуть false и выйти из функции:

function isSimple(n){for(i=2;i<n;i++){if(n%i==0){return false}}return true}document.write(isSimple(17))//Выведет true

function isSimple(n){for(i=2;i<n;i++){if(n%i==0){return false}}return true}document.write(isSimple(8))

Делители

Задача

Реализовать функцию getDivisors, которая параметром будет принимать число и возвращать массив его делителей, т.е. чисел, на которое делится число. К примеру, если передается число 24, должен получиться массив [1,2,3,4,6,12,24].

Решение:

function getDivisors(n){var r=[];for(i=1;i<=n;i++){if(n%i==0){r.push(n)}}return r}document.write(getDivisors(24))//Выведет [1,2,3,4,6,12,24]

Проверь!

Пересечение массивов

Задача

Реализовать функцию getIntersection, которая параметрами будет принимать 2 массива и возвращать массив из элементов, которые есть и в 1, и во 2-м массиве (это называется пересечение массивов). К примеру, getIntersection([1,2,3],[2,3,4]) должно вернуть [2,3].

Решение:

Перебор 1 из переданных массивов (не имеет значения какой) с помощью цикла. В цикле используем функцию inArray, которая разработана выше. С ее помощью проверим, есть ли текущий элемент 1 массива во 2-м. Если есть, записываем его в массив с результатом. Вот решение:

function getIntersection(a1,a2){r=[];for(i=0;i<a1.length;i++){if(inArray(a1[i],a2)){r.push(a1[i])}}return r}document.write(getIntersection([1,2,3],[2,3,4]))//Выведет [2,3]

Проверь!

НОД

Задача

Реализовать функцию getGreatestCommonDivisor, которая параметрами будет принимать 2 числа и возвращать наибольший общий делитель (НОД) этих 2 чисел. К примеру, для чисел 12 и 18 НОД равен 6.

Решение:

Используются разработанные функции. С помощью getDivisors находится массив делителей 1 и 2-го числа, а с помощью getIntersection получается массив общих делителей. Остается просто взять максимальный из общих делителей и получить результат:

function getGreatestCommonDivisor(n1,n2){divisors=getIntersection(getDivisors(n1),getDivisors(n2));/*['2','3','6']*/return Number(Max.apply(null,divisors))}document.write(getGreatestCommonDivisors(12,18))//Выведет 6

Отвечу на любые вопросы. С уважением, Дмитрий Владимирович:
8-965-148-98-02, diplom07@mail.ru.
Печатать страницу: Урок 16. Практика на пользовательские функции в JavaScript

Урок 16, Практика на пользовательские функции в JavaScript, Урок, 16, Практика, на, пользовательские, функции, в, JavaScript, создание, сайта, веб, заказ, web, дизайн, раскрутка, продвижение, новый, сайт, рейтинг, сео, seo, Создание сайтов, web-программирование, seo-продвижение, создание и раскрутка сайтов, вбиваю в топ-10, как гвозди, попробуйте бесплатно, Создание сайтов, web-программирование, seo-продвижение, Урок, 16, Практика, на, пользовательские, функции, в, JavaScript, создание, сайта, веб, заказ, web, дизайн, раскрутка, продвижение, новый, сайт, рейтинг, сео, seo, создание, сайта, веб, заказ, web, дизайн, раскрутка, продвижение, новый, сайт, рейтинг, сео, seo, раскрутка сайтов, Вбиваю в ТОП-10, как гвозди, раскрутка сайтов, Делаю и раскручиваю сайты, Дмитрий Владимирович

×

Ваше письмо