+380681072861(viber та telegram) 25onealexalex@gmail.com
А зараз давай пригадаємо перший урок Розділу 2 – залежно від значення змінної let myCategory = "male"; або let myCategory = "female"; ЦИКЛАМИ for (!зверни увагу - в коді у нас був НЕ ОДИН, а ДВА ?МАЙЖЕ ОДНАКОВИХ циклів) ми перебирали або один масив (твоїх друзів-хлопчиків), або інший (твоїх подруг-дівчаток) - for (let i = 0; i < maleFriends.length; i++) или for (let i = 0; i < femaleFriends.length; i++). Тобто цикли !МАЙЖЕ однакові, відрізняються тільки ІМЕНЕМ змінної масиву, який ми перебираємо (maleFriends або femaleFriends). А можна якось зробити так, щоб код !НЕ повторювався (кажуть - "оптимізувати" код)? Це можна зробити за допомогою "функцій". Подивися на код - на відміну від коду першого уроку Розділу 2 в умови if...else ми поставили не самі цикли, а виклик "функції" (funcCategory(maleFriends) або funcCategory(femaleFriends)), а нижче ми описали цю функцію (слово function + ми її назвали funcCategory, але могли назвати, як завгодно). І оскільки код, який ми хочемо помістити в цю функцію (тобто цикл) все-таки чимось відрізняється (maleFriends або femaleFriends ми перебираємо), ми додамо в фукцію "параметер" - typeFriends. І ось, коли в блоці if...else ми викликаємо цю функцію, ми "передаємо" туди або масив maleFriends, або femaleFriends. А в самій функції ми "приймаємо" цей переданий до неї масив (maleFriends або femaleFriends) в якусь !НОВУ змінну typeFriends (яку теж могли б назвати, як завгодно). І вже в самій функції в циклі for ми перебираємо цю !НОВУ змінну typeFriends, якою може бути або масив maleFriends, або масив femaleFriends. Результат - ЗАМІСТЬ ДВОХ циклів у нас ТІЛЬКИ ОДИН. Далі (як і в першому уроці Розділу 2) ти можеш сам змінити значення змінної let myCategory ("male" або "female") і справа отримати результат перебору, але вже з "функції".