Функції
Напиши функцію яка повертає найбільше число в масиві: let array = [1, 3, 2, 5, 4]; let max = findMaxNumber(array); console.log(max); // 5 У цій функції ми проходимо по масиву чисел та знаходимо найбільше число. Його повертаємо як результат функції.
Напиши функцію logItems(array), яка отримує масив і використовує цикл for, який для кожного елемента масиву буде виводити в консоль повідомлення в форматі [номер елемента] - [значення елемента]. Нумерація повинна починатися з 1. Наприклад, для першого елемента масиву ['Mango', 'Poly', 'Ajax'] з індексом 0 буде виведено '1 - Mango', а для індексу 2 виведе '3 - Ajax'. const logItems = function (array) { // твій код }; /* * Виклич функції для перевірки працездатності твоєї реалізації. */ logItems(['Mango', 'Poly', 'Ajax', 'Lux', 'Jay', 'Kong']); logItems([5, 10, 15, 20, 25, 30, 35, 40, 45, 50]);
Напиши скрипт підрахунку вартості гравіювання прикрас. Для цього створи функцію calculateEngravingPrice(message, pricePerWord) приймаючу рядок (в рядку будуть тільки слова і прогалини) і ціну гравіювання одного слова, і повертає ціну гравіювання всіх слів в рядку. const calculateEngravingPrice = function (message, pricePerWord) { // твій код }; /* * Виклич функції для перевірки працездатності твоєї реалізації. */ console.log( calculateEngravingPrice( 'Proin sociis natoque et magnis parturient montes mus', 10, ), ); // 80 console.log( calculateEngravingPrice( 'Proin sociis natoque et magnis parturient montes mus', 20, ), ); // 160 console.log( calculateEngravingPrice('Donec orci lectus aliquam est magnis', 40), ); // 240 console.log( calculateEngravingPrice('Donec orci lectus aliquam est magnis', 20), ); // 120
Напиши функцію findLongestWord(string), яка приймає параметром довільний рядок (в рядку будуть тільки слова і прогалини) і повертає найдовше слово в цьому рядку. const findLongestWord = function (string) { // твій код }; /* * Виклич функції для перевірки працездатності твоєї реалізації. */ console.log(findLongestWord('The quick brown fox jumped over the lazy dog')); // 'jumped' console.log(findLongestWord('Google do a roll')); // 'Google' console.log(findLongestWord('May the force be with you')); // 'force'
Напиши функцію formatString(string) яка приймає рядок і форматує його якщо необхідно. Якщо довжина рядка не перевищує 40 символів, функція повертає її в початковому вигляді. Якщо довжина більше 40 символів, то функція обрізає рядок до 40-ка символів і додає в кінець рядка три крапки '...', після чого повертає укорочену версію. const formatString = function (string) { // твій код }; /* * Виклич функції для перевірки працездатності твоєї реалізації. */ console.log(formatString('Curabitur ligula sapien, tincidunt non.')); // повернеться оригінальний рядок console.log(formatString('Vestibulum facilisis, purus nec pulvinar iaculis.')); // повернеться форматований рядок console.log(formatString('Curabitur ligula sapien.')); // повернеться оригінальний рядок console.log( formatString( 'Nunc sed turpis. Curabitur a felis in nunc fringilla tristique.', ), ); // повернеться форматований рядок
Напиши функцію checkForSpam(message), приймаючу 1 параметр message - рядок. Функція перевіряє її на вміст слів spam і sale. Якщо знайшли заборонене слово, то функція повертає true, якщо заборонених слів немає функція повертає false. Слова в рядку можуть бути в довільному регістрі. const checkForSpam = function (message) { // твій код }; /* * Викличи функції для перевірки працездатності твоєї реалізації. */ console.log(checkForSpam('Latest technology news')); // false console.log(checkForSpam('JavaScript weekly newsletter')); // false console.log(checkForSpam('Get best sale offers now!')); // true console.log(checkForSpam('[SPAM] How to earn fast money?')); // true
Напиши скрипт з наступним функціоналом: При завантаженні сторінки користувачеві пропонується в prompt ввести число. Введення зберігається в змінну input і додається в масив чисел numbers. Операція введення числа користувачем і збереження в масив триває до тих пор, пір, поки користувач не натисне Cancel в prompt. Після того як користувач припинив введення натиснувши Cancel, якщо масив не порожній, необхідно порахувати суму всіх елементів масиву і записати її в змінну total. Використовуй цикл for або for...of. Після чого в консоль виведи рядок 'Загальна сума чисел дорівнює [сума]'. 🔔 Робити перевірку того, що користувач ввів саме число, а не довільний набір символів, не обов'язково. Якщо хочеш, в разі некоректного введення, показуй alert з текстом 'Було введено не число, попробуйте ще раз', при цьому результат prompt записувати в масив чисел не потрібно, після чого знову користувачеві пропонується ввести число в prompt. let input; const numbers = []; let total = 0;
Є масив logins з логінами користувачів. Напиши скрипт додавання логіна в масив logins. Логін, який додається повинен: проходити перевірку на довжину від 4 до 16-ти символів включно бути унікальним, тобто бути відсутнім в масиві logins Розбий завдання на підзадачі за допомогою функцій. Напиши функцію isLoginValid(login), в якій перевір кількість символів параметра login і поверни true або false в залежності від того, чи потрапляє довжина параметра в заданий діапазон від 4-х до 16-ти символів включно. Напиши функцію isLoginUnique(allLogins, login), яка приймає список всіх логінів і логін, який додається, як параметри і перевіряє наявність login в массиве allLogins, повертає true якщо такого логіна ще немає і false якщо логін вже використовується. Напиши функцію addLogin(allLogins, login) яка: Приймає новий логін і масив всіх логінів як параметри Перевіряє валідність логіна використовуючи допоміжну функцію isLoginValid Якщо логін не валідний, припинити виконання функції addLogin і повернути радок 'Помилка! Логін повинен бути від 4 до 16 символів' Якщо логін валідний, функція addLogin перевіряє унікальність логіна за допомогою функції isLoginUnique Якщо isLoginUnique поверне false, тоді addLogin Не додає логін в массив масив і повертає рядок 'Такий логін уже використовується!' Якщо isLoginUnique поверне true, addLogin додає новий логін в logins і повертає рядок 'Логін успішно доданий!' 🔔 Принцип єдиної відповідальності функції - кожна функція робить щось одне. Це дозволяє перевикористати код і змінювати логіку роботи функції тільки в одному місці, не зачіпаючи роботу програми в цілому. Предикатні функції повертають тільки true або false. Такі функції прийнято називати починаючи з is: isLoginUnique і isLoginValid в нашому випадку. isLoginUnique тільки перевіряє чи є такий логін в масиві і повертає true або false. isLoginValid тільки перевіряє чи валідний логін і повертає true або false. addLogin додають чи не додають логін в масив. При цьому для перевірок умови додавання використовує результати викликів інших функцій - isLoginUnique і isLoginValid. const logins = ['Mango', 'robotGoogles', 'Poly', 'Aj4x1sBozz', 'qwerty123']; const isLoginValid = function (login) { // твій код }; const isLoginUnique = function (allLogins, login) { // твій код }; const addLogin = function (allLogins, login) { // твій код }; /* * Виклич функції для перевірки працездатності твоєї реалізації. */ console.log(addLogin(logins, 'Ajax')); // 'Логін успішно доданий!' console.log(addLogin(logins, 'robotGoogles')); // 'Такий логін вже використовується!' console.log(addLogin(logins, 'Zod')); // 'Помилка! Логін повинен бути від 4 до 16 символів' console.log(addLogin(logins, 'jqueryisextremelyfast')); // 'Помилка! Логін повинен бути від 4 до 16 символів'