chore(i18n,learn): processed translations (#49203)

This commit is contained in:
camperbot
2023-01-30 22:28:54 +05:30
committed by GitHub
parent 4d5b0a871a
commit b97242ef47
210 changed files with 2963 additions and 1082 deletions

View File

@@ -32,11 +32,11 @@ const element = arr[3][0][1];
# --instructions--
Використовуючи дужкову нотацію, виберіть елемент із `myArray` таким чином, щоб `myData` дорівнював `8`.
Використовуючи дужкову нотацію, виберіть елемент із `myArray` таким чином, щоб значення `myData` дорівнювало `8`.
# --hints--
`myData` повинен дорівнювати `8`.
`myData` має дорівнювати `8`.
```js
assert(myData === 8);

View File

@@ -9,7 +9,7 @@ dashedName: accessing-nested-arrays
# --description--
Як ми бачили в попередніх прикладах, об'єкти можуть містити і вкладені об'єкти, і вкладені масиви. Подібно до доступу до вкладених об'єктів, для доступу до вкладених масивів можна об'єднати дужкову нотацію.
Як ми бачили в попередніх прикладах, обєкти можуть містити і вкладені обєкти, і вкладені масиви. Подібно до доступу до вкладених обєктів, для доступу до вкладених масивів можна обєднати дужкову нотацію.
Ось приклад того, як отримати доступ до вкладеного масиву:
@@ -41,11 +41,11 @@ ourPets[1].names[0];
# --instructions--
Використовуючи точкову і дужкову нотацію, встановіть змінну `secondTree` на другий елемент в списку `trees` з об'єкта `myPlants`.
Використовуючи точкову і дужкову нотацію, встановіть змінну `secondTree` на другий елемент в списку `trees` з обєкта `myPlants`.
# --hints--
`secondTree` повинен дорівнювати рядку `pine`.
`secondTree` має дорівнювати рядку `pine`.
```js
assert(secondTree === 'pine');

View File

@@ -1,6 +1,6 @@
---
id: 56533eb9ac21ba0edf2244cc
title: Доступ до вкладених об'єктів
title: Доступ до вкладених обєктів
challengeType: 1
videoUrl: 'https://scrimba.com/c/cRnRnfa'
forumTopicId: 16161
@@ -9,9 +9,9 @@ dashedName: accessing-nested-objects
# --description--
Доступ до підвластивостей об'єктів можна отримати завдяки ланцюжку точкової та дужкової нотацій.
Доступ до підвластивостей обєктів можна отримати завдяки ланцюжку точкової та дужкової нотацій.
Ось вкладений об'єкт:
Ось вкладений обєкт:
```js
const ourStorage = {
@@ -39,7 +39,7 @@ ourStorage.desk.drawer;
# --hints--
`gloveBoxContents` повинен дорівнювати рядку `maps`.
`gloveBoxContents` має дорівнювати рядку `maps`.
```js
assert(gloveBoxContents === 'maps');

View File

@@ -1,6 +1,6 @@
---
id: 56533eb9ac21ba0edf2244c8
title: Доступ до властивостей об'єкту за допомогою дужкової нотації
title: Доступ до властивостей обєкту за допомогою дужкової нотації
challengeType: 1
videoUrl: 'https://scrimba.com/c/cBvmEHP'
forumTopicId: 16163
@@ -9,11 +9,11 @@ dashedName: accessing-object-properties-with-bracket-notation
# --description--
Другим способом отримати доступ до властивостей об'єкта є дужкова нотація (`[]`). Якщо властивість об'єкта, до якої ви намагаєтеся отримати доступ, має пропуск у назві, потрібно використати дужкову нотацію.
Другим способом отримати доступ до властивостей обєкта є дужкова нотація (`[]`). Якщо властивість обєкта, до якої ви намагаєтеся отримати доступ, має пропуск у назві, потрібно використати дужкову нотацію.
Однак дужкову нотацію можна використовувати і для властивостей об'єкта без пропусків.
Однак дужкову нотацію можна використовувати і для властивостей обєкта без пропусків.
Нижче наведено приклад дужкової нотації для прочитання властивостей об'єкта:
Нижче наведено приклад дужкової нотації для прочитання властивостей обєкта:
```js
const myObj = {

View File

@@ -1,6 +1,6 @@
---
id: 56533eb9ac21ba0edf2244c7
title: Доступ до властивостей об'єкту за допомогою точкової нотації
title: Доступ до властивостей обєкту за допомогою точкової нотації
challengeType: 1
videoUrl: 'https://scrimba.com/c/cGryJs8'
forumTopicId: 16164
@@ -9,11 +9,11 @@ dashedName: accessing-object-properties-with-dot-notation
# --description--
Є два способи отримати доступ до властивостей об'єкту: точкова нотація (`.`) та дужкова нотація (`[]`), подібно до масиву.
Є два способи отримати доступ до властивостей обєкту: точкова нотація (`.`) та дужкова нотація (`[]`), подібно до масиву.
Точкову нотацію використовують, якщо заздалегідь знають назву властивості, до якої намагаються отримати доступ.
Нижче наведено приклад точкової нотації (`.`) для прочитання властивостей об'єкта:
Нижче наведено приклад точкової нотації (`.`) для прочитання властивостей обєкта:
```js
const myObj = {
@@ -29,7 +29,7 @@ const prop2val = myObj.prop2;
# --instructions--
Прочитайте значення властивостей `testObj`, використовуючи точкову нотацію. Встановіть змінну `hatValue` рівною властивостям об'єкта `hat` та встановіть змінну `shirtValue` рівною властивостям об'єкта `shirt`.
Прочитайте значення властивостей `testObj`, використовуючи точкову нотацію. Встановіть змінну `hatValue` рівною властивостям обєкта `hat` та встановіть змінну `shirtValue` рівною властивостям обєкта `shirt`.
# --hints--

View File

@@ -1,6 +1,6 @@
---
id: 56533eb9ac21ba0edf2244c9
title: Доступ до властивостей об'єкту за допомогою змінних
title: Доступ до властивостей обєкту за допомогою змінних
challengeType: 1
videoUrl: 'https://scrimba.com/c/cnQyKur'
forumTopicId: 16165
@@ -9,7 +9,7 @@ dashedName: accessing-object-properties-with-variables
# --description--
Дужкову нотацію також можна використати на об'єктах, щоб отримати доступ до властивостей, що зберігаються як значення змінної. Це може бути дуже корисно при ітерації властивостей об'єкта або при отриманні доступу до пошукової таблиці.
Дужкову нотацію також можна використати на обєктах, щоб отримати доступ до властивостей, що зберігаються як значення змінної. Це може бути дуже корисно при ітерації властивостей обєкта або при отриманні доступу до пошукової таблиці.
Ось приклад використання змінної для отримання доступу до властивостей:

View File

@@ -1,6 +1,6 @@
---
id: 56bbb991ad1ed5201cd392d2
title: Додавання нових властивостей до об'єкта JavaScript
title: Додавання нових властивостей до обєкта JavaScript
challengeType: 1
videoUrl: 'https://scrimba.com/c/cQe38UD'
forumTopicId: 301169
@@ -9,7 +9,7 @@ dashedName: add-new-properties-to-a-javascript-object
# --description--
Ви можете додати нові властивості до наявних об'єктів JavaScript так само, як ви б модифікували їх.
Ви можете додати нові властивості до наявних обєктів JavaScript так само, як ви б модифікували їх.
Таким чином ми б додали властивість `bark` до `ourDog`:

View File

@@ -1,6 +1,6 @@
---
id: cf1111c1c11feddfaeb3bdef
title: Додавання двох чисел за допомогою JavaScript
title: Додавання двох чисел з JavaScript
challengeType: 1
videoUrl: 'https://scrimba.com/c/cM2KBAG'
forumTopicId: 16650
@@ -29,7 +29,7 @@ const myVar = 5 + 10;
# --hints--
`sum` повинен дорівнювати `20`.
`sum` має дорівнювати `20`.
```js
assert(sum === 20);

View File

@@ -38,31 +38,31 @@ switch (num) {
# --hints--
`switchOfStuff("a")` повинен повертати рядок `apple`
`switchOfStuff("a")` має повертати рядок `apple`
```js
assert(switchOfStuff('a') === 'apple');
```
`switchOfStuff("b")` повинен повертати рядок `bird`
`switchOfStuff("b")` має повертати рядок `bird`
```js
assert(switchOfStuff('b') === 'bird');
```
`switchOfStuff("c")` повинен повертати рядок `cat`
`switchOfStuff("c")` має повертати рядок `cat`
```js
assert(switchOfStuff('c') === 'cat');
```
`switchOfStuff("d")` повинен повертати рядок `stuff`
`switchOfStuff("d")` має повертати рядок `stuff`
```js
assert(switchOfStuff('d') === 'stuff');
```
`switchOfStuff(4)` повинен повертати рядок `stuff`
`switchOfStuff(4)` має повертати рядок `stuff`
```js
assert(switchOfStuff(4) === 'stuff');

View File

@@ -27,7 +27,7 @@ ourStr += anAdjective;
# --hints--
`someAdjective` повинен бути встановлений як рядок з принаймні 3 символів.
`someAdjective` має бути встановлений як рядок з принаймні 3 символів.
```js
assert(typeof someAdjective !== 'undefined' && someAdjective.length > 2);

View File

@@ -1,6 +1,6 @@
---
id: 56bbb991ad1ed5201cd392d0
title: Створення об'єктів JavaScript
title: Створення обєктів JavaScript
challengeType: 1
videoUrl: 'https://scrimba.com/c/cWGkbtd'
forumTopicId: 16769
@@ -11,11 +11,11 @@ dashedName: build-javascript-objects
Можливо, ви вже чули термін `object`.
Об'єкти подібні до `arrays`, за винятком того, що для отримання доступу та зміни їхніх даних використовуються не індекси, а властивості (`properties`).
Обєкти подібні до `arrays`, за винятком того, що для отримання доступу та зміни їхніх даних використовуються не індекси, а властивості (`properties`).
Об'єкти придатні для структурованого зберігання даних, і також можуть представляти реальні об'єкти, наприклад кота.
Обєкти придатні для структурованого зберігання даних, і також можуть представляти реальні обєкти (наприклад, кота).
Приклад об'єкта-кота:
Приклад обєкта-кота:
```js
const cat = {
@@ -36,17 +36,17 @@ const anotherObject = {
};
```
Однак, якщо ваші об'єкти містять будь-які не рядкові властивості, JavaScript автоматично перетворить їх на рядки.
Однак, якщо ваші обєкти містять будь-які не рядкові властивості, JavaScript автоматично перетворить їх на рядки.
# --instructions--
Створіть об'єкт, який представляє собаку, під назвою `myDog` і який має властивості `name` (рядок), `legs`, `tails` та `friends`.
Створіть обєкт, який представляє собаку, під назвою `myDog` і який має властивості `name` (рядок), `legs`, `tails` та `friends`.
Ви можете встановити властивості на будь-яке значення, але `name` повинен бути рядком, `legs` та `tails` повинні бути числами, а `friends` повинен бути масивом.
Ви можете встановити властивості на будь-яке значення, але `name` має бути рядком, `legs` та `tails` мають бути числами, а `friends` має бути масивом.
# --hints--
`myDog` повинен містити властивість `name` і бути рядком (`string`).
`myDog` повинен містити властивість `name`, яка є рядком (`string`).
```js
assert(
@@ -64,7 +64,7 @@ assert(
);
```
`myDog` повинен містити властивість `legs` і бути числом (`number`).
`myDog` повинен містити властивість `legs`, яка є числом (`number`).
```js
assert(
@@ -82,7 +82,7 @@ assert(
);
```
`myDog` повинен містити властивість `tails` і бути числом (`number`).
`myDog` повинен містити властивість `tails`, яка є числом (`number`).
```js
assert(
@@ -100,7 +100,7 @@ assert(
);
```
`myDog` повинен містити властивість `friends` і бути масивом (`array`).
`myDog` повинен містити властивість `friends`, яка є масивом (`array`).
```js
assert(
@@ -118,7 +118,7 @@ assert(
);
```
`myDog` повинен містити всі задані властивості.
`myDog` має містити всі задані властивості.
```js
assert(

View File

@@ -9,7 +9,7 @@ dashedName: chaining-if-else-statements
# --description--
Інструкції `if/else` можна об'єднати для складної логіки. Ось <dfn>псевдокод</dfn> декількох об'єднаних інструкцій `if` / `else if`:
Інструкції `if/else` можна обєднати для складної логіки. Ось <dfn>псевдокод</dfn> декількох обєднаних інструкцій `if` / `else if`:
```js
if (condition1) {
@@ -26,7 +26,7 @@ if (condition1) {
# --instructions--
Напишіть об'єднані інструкції `if`/`else if`, щоб виконати наступні умови:
Напишіть обєднані інструкції `if`/`else if`, щоб виконати наступні умови:
`num < 5` повертає `Tiny`
`num < 10` повертає `Small`
@@ -54,61 +54,61 @@ assert(code.match(/if/g).length > 3);
assert(code.match(/return/g).length >= 1);
```
`testSize(0)` повинен повертати рядок `Tiny`
`testSize(0)` має повертати рядок `Tiny`
```js
assert(testSize(0) === 'Tiny');
```
`testSize(4)` повинен повертати рядок `Tiny`
`testSize(4)` має повертати рядок `Tiny`
```js
assert(testSize(4) === 'Tiny');
```
`testSize(5)` повинен повертати рядок `Small`
`testSize(5)` має повертати рядок `Small`
```js
assert(testSize(5) === 'Small');
```
`testSize(8)` повинен повертати рядок `Small`
`testSize(8)` має повертати рядок `Small`
```js
assert(testSize(8) === 'Small');
```
`testSize(10)` повинен повертати рядок `Medium`
`testSize(10)` має повертати рядок `Medium`
```js
assert(testSize(10) === 'Medium');
```
`testSize(14)` повинен повертати рядок `Medium`
`testSize(14)` має повертати рядок `Medium`
```js
assert(testSize(14) === 'Medium');
```
`testSize(15)` повинен повертати рядок `Large`
`testSize(15)` має повертати рядок `Large`
```js
assert(testSize(15) === 'Large');
```
`testSize(17)` повинен повертати рядок `Large`
`testSize(17)` має повертати рядок `Large`
```js
assert(testSize(17) === 'Large');
```
`testSize(20)` повинен повертати рядок `Huge`
`testSize(20)` має повертати рядок `Huge`
```js
assert(testSize(20) === 'Huge');
```
`testSize(25)` повинен повертати рядок `Huge`
`testSize(25)` має повертати рядок `Huge`
```js
assert(testSize(25) === 'Huge');

View File

@@ -27,7 +27,7 @@ dashedName: comment-your-javascript-code
multi-line comment */
```
**ПРИМІТКА:** при написанні коду ви повинні часто додавати коментарі, щоб роз'яснити функції частин вашого коду. Хороші коментарі можуть передати мету вашого коду як для інших людей, *так і* для себе в майбутньому.
**ПРИМІТКА:** при написанні коду ви повинні часто додавати коментарі, щоб розяснити функції частин вашого коду. Хороші коментарі можуть передати мету вашого коду як для інших людей, *так і* для себе в майбутньому.
# --instructions--
@@ -35,13 +35,13 @@ multi-line comment */
# --hints--
Ви повинні створити коментар стилю `//`, який містить принаймні п'ять літер.
Ви повинні створити коментар стилю `//`, який містить принаймні пять літер.
```js
assert(code.match(/(\/\/)...../g));
```
Ви повинні створити коментар стилю `/* */`, який містить принаймні п'ять літер.
Ви повинні створити коментар стилю `/* */`, який містить принаймні пять літер.
```js
assert(code.match(/(\/\*)([^\/]{5,})(?=\*\/)/gm));

View File

@@ -37,19 +37,19 @@ function equalityTest(myVal) {
# --hints--
`testEqual(10)` повинен повертати рядок `Not Equal`
`testEqual(10)` має повертати рядок `Not Equal`
```js
assert(testEqual(10) === 'Not Equal');
```
`testEqual(12)` повинен повертати рядок `Equal`
`testEqual(12)` має повертати рядок `Equal`
```js
assert(testEqual(12) === 'Equal');
```
`testEqual("12")` повинен повертати рядок `Equal`
`testEqual("12")` має повертати рядок `Equal`
```js
assert(testEqual('12') === 'Equal');

View File

@@ -28,43 +28,43 @@ dashedName: comparison-with-the-greater-than-operator
# --hints--
`testGreaterThan(0)` повинен повертати рядок `10 or Under`
`testGreaterThan(0)` має повертати рядок `10 or Under`
```js
assert(testGreaterThan(0) === '10 or Under');
```
`testGreaterThan(10)` повинен повертати рядок `10 or Under`
`testGreaterThan(10)` має повертати рядок `10 or Under`
```js
assert(testGreaterThan(10) === '10 or Under');
```
`testGreaterThan(11)` повинен повертати рядок `Over 10`
`testGreaterThan(11)` має повертати рядок `Over 10`
```js
assert(testGreaterThan(11) === 'Over 10');
```
`testGreaterThan(99)` повинен повертати рядок `Over 10`
`testGreaterThan(99)` має повертати рядок `Over 10`
```js
assert(testGreaterThan(99) === 'Over 10');
```
`testGreaterThan(100)` повинен повертати рядок `Over 10`
`testGreaterThan(100)` має повертати рядок `Over 10`
```js
assert(testGreaterThan(100) === 'Over 10');
```
`testGreaterThan(101)` повинен повертати рядок `Over 100`
`testGreaterThan(101)` має повертати рядок `Over 100`
```js
assert(testGreaterThan(101) === 'Over 100');
```
`testGreaterThan(150)` повинен повертати рядок `Over 100`
`testGreaterThan(150)` має повертати рядок `Over 100`
```js
assert(testGreaterThan(150) === 'Over 100');

View File

@@ -28,43 +28,43 @@ dashedName: comparison-with-the-greater-than-or-equal-to-operator
# --hints--
`testGreaterOrEqual(0)` повинен повертати рядок `Less than 10`
`testGreaterOrEqual(0)` має повертати рядок `Less than 10`
```js
assert(testGreaterOrEqual(0) === 'Less than 10');
```
`testGreaterOrEqual(9)` повинен повертати рядок `Less than 10`
`testGreaterOrEqual(9)` має повертати рядок `Less than 10`
```js
assert(testGreaterOrEqual(9) === 'Less than 10');
```
`testGreaterOrEqual(10)` повинен повертати рядок `10 or Over`
`testGreaterOrEqual(10)` має повертати рядок `10 or Over`
```js
assert(testGreaterOrEqual(10) === '10 or Over');
```
`testGreaterOrEqual(11)` повинен повертати рядок `10 or Over`
`testGreaterOrEqual(11)` має повертати рядок `10 or Over`
```js
assert(testGreaterOrEqual(11) === '10 or Over');
```
`testGreaterOrEqual(19)` повинен повертати рядок `10 or Over`
`testGreaterOrEqual(19)` має повертати рядок `10 or Over`
```js
assert(testGreaterOrEqual(19) === '10 or Over');
```
`testGreaterOrEqual(100)` повинен повертати рядок `20 or Over`
`testGreaterOrEqual(100)` має повертати рядок `20 or Over`
```js
assert(testGreaterOrEqual(100) === '20 or Over');
```
`testGreaterOrEqual(21)` повинен повертати рядок `20 or Over`
`testGreaterOrEqual(21)` має повертати рядок `20 or Over`
```js
assert(testGreaterOrEqual(21) === '20 or Over');

View File

@@ -23,35 +23,35 @@ dashedName: comparison-with-the-inequality-operator
# --instructions--
Додайте оператор «не дорівнює» (`!=`) в інструкції `if`, щоб функція повернула рядок `Not Equal`, якщо `val` не дорівнює `99`.
Додайте оператор «не дорівнює» (`!=`) до інструкції `if`, щоб функція повернула рядок `Not Equal`, якщо `val` не дорівнює `99`.
# --hints--
`testNotEqual(99)` повинен повертати рядок `Equal`
`testNotEqual(99)` має повертати рядок `Equal`
```js
assert(testNotEqual(99) === 'Equal');
```
`testNotEqual("99")` повинен повертати рядок `Equal`
`testNotEqual("99")` має повертати рядок `Equal`
```js
assert(testNotEqual('99') === 'Equal');
```
`testNotEqual(12)` повинен повертати рядок `Not Equal`
`testNotEqual(12)` має повертати рядок `Not Equal`
```js
assert(testNotEqual(12) === 'Not Equal');
```
`testNotEqual("12")` повинен повертати рядок `Not Equal`
`testNotEqual("12")` має повертати рядок `Not Equal`
```js
assert(testNotEqual('12') === 'Not Equal');
```
`testNotEqual("bob")` повинен повертати рядок `Not Equal`
`testNotEqual("bob")` має повертати рядок `Not Equal`
```js
assert(testNotEqual('bob') === 'Not Equal');

View File

@@ -27,37 +27,37 @@ dashedName: comparison-with-the-less-than-operator
# --hints--
`testLessThan(0)` повинен повертати рядок `Under 25`
`testLessThan(0)` має повертати рядок `Under 25`
```js
assert(testLessThan(0) === 'Under 25');
```
`testLessThan(24)` повинен повертати рядок `Under 25`
`testLessThan(24)` має повертати рядок `Under 25`
```js
assert(testLessThan(24) === 'Under 25');
```
`testLessThan(25)` повинен повертати рядок `Under 55`
`testLessThan(25)` має повертати рядок `Under 55`
```js
assert(testLessThan(25) === 'Under 55');
```
`testLessThan(54)` повинен повертати рядок `Under 55`
`testLessThan(54)` має повертати рядок `Under 55`
```js
assert(testLessThan(54) === 'Under 55');
```
`testLessThan(55)` повинен повертати рядок `55 or Over`
`testLessThan(55)` має повертати рядок `55 or Over`
```js
assert(testLessThan(55) === '55 or Over');
```
`testLessThan(99)` повинен повертати рядок `55 or Over`
`testLessThan(99)` має повертати рядок `55 or Over`
```js
assert(testLessThan(99) === '55 or Over');

View File

@@ -27,43 +27,43 @@ dashedName: comparison-with-the-less-than-or-equal-to-operator
# --hints--
`testLessOrEqual(0)` повинен повертати рядок `Smaller Than or Equal to 12`
`testLessOrEqual(0)` має повертати рядок `Smaller Than or Equal to 12`
```js
assert(testLessOrEqual(0) === 'Smaller Than or Equal to 12');
```
`testLessOrEqual(11)` повинен повертати рядок `Smaller Than or Equal to 12`
`testLessOrEqual(11)` має повертати рядок `Smaller Than or Equal to 12`
```js
assert(testLessOrEqual(11) === 'Smaller Than or Equal to 12');
```
`testLessOrEqual(12)` повинен повертати рядок `Smaller Than or Equal to 12`
`testLessOrEqual(12)` має повертати рядок `Smaller Than or Equal to 12`
```js
assert(testLessOrEqual(12) === 'Smaller Than or Equal to 12');
```
`testLessOrEqual(23)` повинен повертати рядок `Smaller Than or Equal to 24`
`testLessOrEqual(23)` має повертати рядок `Smaller Than or Equal to 24`
```js
assert(testLessOrEqual(23) === 'Smaller Than or Equal to 24');
```
`testLessOrEqual(24)` повинен повертати рядок `Smaller Than or Equal to 24`
`testLessOrEqual(24)` має повертати рядок `Smaller Than or Equal to 24`
```js
assert(testLessOrEqual(24) === 'Smaller Than or Equal to 24');
```
`testLessOrEqual(25)` повинен повертати рядок `More Than 24`
`testLessOrEqual(25)` має повертати рядок `More Than 24`
```js
assert(testLessOrEqual(25) === 'More Than 24');
```
`testLessOrEqual(55)` повинен повертати рядок `More Than 24`
`testLessOrEqual(55)` має повертати рядок `More Than 24`
```js
assert(testLessOrEqual(55) === 'More Than 24');

View File

@@ -28,19 +28,19 @@ dashedName: comparison-with-the-strict-equality-operator
# --hints--
`testStrict(10)` повинен повертати рядок `Not Equal`
`testStrict(10)` має повертати рядок `Not Equal`
```js
assert(testStrict(10) === 'Not Equal');
```
`testStrict(7)` повинен повертати рядок `Equal`
`testStrict(7)` має повертати рядок `Equal`
```js
assert(testStrict(7) === 'Equal');
```
`testStrict("7")` повинен повертати рядок `Not Equal`
`testStrict("7")` має повертати рядок `Not Equal`
```js
assert(testStrict('7') === 'Not Equal');

View File

@@ -25,25 +25,25 @@ dashedName: comparison-with-the-strict-inequality-operator
# --hints--
`testStrictNotEqual(17)` повинен повертати рядок `Equal`
`testStrictNotEqual(17)` має повертати рядок `Equal`
```js
assert(testStrictNotEqual(17) === 'Equal');
```
`testStrictNotEqual("17")` повинен повертати рядок `Not Equal`
`testStrictNotEqual("17")` має повертати рядок `Not Equal`
```js
assert(testStrictNotEqual('17') === 'Not Equal');
```
`testStrictNotEqual(12)` повинен повертати рядок `Not Equal`
`testStrictNotEqual(12)` має повертати рядок `Not Equal`
```js
assert(testStrictNotEqual(12) === 'Not Equal');
```
`testStrictNotEqual("bob")` повинен повертати рядок `Not Equal`
`testStrictNotEqual("bob")` має повертати рядок `Not Equal`
```js
assert(testStrictNotEqual('bob') === 'Not Equal');

View File

@@ -49,49 +49,49 @@ assert(code.match(/&&/g).length === 1);
assert(code.match(/if/g).length === 1);
```
`testLogicalAnd(0)` повинен повертати рядок `No`
`testLogicalAnd(0)` має повертати рядок `No`
```js
assert(testLogicalAnd(0) === 'No');
```
`testLogicalAnd(24)` повинен повертати рядок `No`
`testLogicalAnd(24)` має повертати рядок `No`
```js
assert(testLogicalAnd(24) === 'No');
```
`testLogicalAnd(25)` повинен повертати рядок `Yes`
`testLogicalAnd(25)` має повертати рядок `Yes`
```js
assert(testLogicalAnd(25) === 'Yes');
```
`testLogicalAnd(30)` повинен повертати рядок `Yes`
`testLogicalAnd(30)` має повертати рядок `Yes`
```js
assert(testLogicalAnd(30) === 'Yes');
```
`testLogicalAnd(50)` повинен повертати рядок `Yes`
`testLogicalAnd(50)` має повертати рядок `Yes`
```js
assert(testLogicalAnd(50) === 'Yes');
```
`testLogicalAnd(51)` повинен повертати рядок `No`
`testLogicalAnd(51)` має повертати рядок `No`
```js
assert(testLogicalAnd(51) === 'No');
```
`testLogicalAnd(75)` повинен повертати рядок `No`
`testLogicalAnd(75)` має повертати рядок `No`
```js
assert(testLogicalAnd(75) === 'No');
```
`testLogicalAnd(80)` повинен повертати рядок `No`
`testLogicalAnd(80)` має повертати рядок `No`
```js
assert(testLogicalAnd(80) === 'No');

View File

@@ -36,7 +36,7 @@ return "Yes";
# --instructions--
Об'єднайте дві інструкції `if` в одну інструкцію, яка поверне рядок `Outside`, якщо `val` не знаходиться між `10` та `20` (включно). В іншому випадку поверніть рядок `Inside`.
Обєднайте дві інструкції `if` в одну інструкцію, яка поверне рядок `Outside`, якщо `val` не знаходиться між `10` та `20` (включно). В іншому випадку поверніть рядок `Inside`.
# --hints--
@@ -52,49 +52,49 @@ assert(code.match(/\|\|/g).length === 1);
assert(code.match(/if/g).length === 1);
```
`testLogicalOr(0)` повинен повертати рядок `Outside`
`testLogicalOr(0)` має повертати рядок `Outside`
```js
assert(testLogicalOr(0) === 'Outside');
```
`testLogicalOr(9)` повинен повертати рядок `Outside`
`testLogicalOr(9)` має повертати рядок `Outside`
```js
assert(testLogicalOr(9) === 'Outside');
```
`testLogicalOr(10)` повинен повертати рядок `Inside`
`testLogicalOr(10)` має повертати рядок `Inside`
```js
assert(testLogicalOr(10) === 'Inside');
```
`testLogicalOr(15)` повинен повертати рядок `Inside`
`testLogicalOr(15)` має повертати рядок `Inside`
```js
assert(testLogicalOr(15) === 'Inside');
```
`testLogicalOr(19)` повинен повертати рядок `Inside`
`testLogicalOr(19)` має повертати рядок `Inside`
```js
assert(testLogicalOr(19) === 'Inside');
```
`testLogicalOr(20)` повинен повертати рядок `Inside`
`testLogicalOr(20)` має повертати рядок `Inside`
```js
assert(testLogicalOr(20) === 'Inside');
```
`testLogicalOr(21)` повинен повертати рядок `Outside`
`testLogicalOr(21)` має повертати рядок `Outside`
```js
assert(testLogicalOr(21) === 'Outside');
```
`testLogicalOr(25)` повинен повертати рядок `Outside`
`testLogicalOr(25)` має повертати рядок `Outside`
```js
assert(testLogicalOr(25) === 'Outside');

View File

@@ -9,7 +9,7 @@ dashedName: compound-assignment-with-augmented-addition
# --description--
У програмуванні присвоєння зазвичай використовують, щоб змінити вміст змінної. Пам'ятайте, що спершу обчислюється усе, що стоїть праворуч від знаку рівності, тому можна сказати, що:
У програмуванні присвоєння зазвичай використовують, щоб змінити вміст змінної. Памятайте, що спершу обчислюється усе, що стоїть праворуч від знаку рівності, тому можна сказати, що:
```js
myVar = myVar + 5;
@@ -33,19 +33,19 @@ console.log(myVar);
# --hints--
`a` повинна дорівнювати `15`.
`a` має дорівнювати `15`.
```js
assert(a === 15);
```
`b` повинна дорівнювати `26`.
`b` має дорівнювати `26`.
```js
assert(b === 26);
```
`c` повинна дорівнювати `19`.
`c` має дорівнювати `19`.
```js
assert(c === 19);

View File

@@ -27,19 +27,19 @@ myVar /= 5;
# --hints--
`a` повинна дорівнювати `4`.
`a` має дорівнювати `4`.
```js
assert(a === 4);
```
`b` повинна дорівнювати `27`.
`b` має дорівнювати `27`.
```js
assert(b === 27);
```
`c` повинна дорівнювати `3`.
`c` має дорівнювати `3`.
```js
assert(c === 3);

View File

@@ -27,19 +27,19 @@ myVar *= 5;
# --hints--
`a` повинна дорівнювати `25`.
`a` має дорівнювати `25`.
```js
assert(a === 25);
```
`b` повинна дорівнювати `36`.
`b` має дорівнювати `36`.
```js
assert(b === 36);
```
`c` повинна дорівнювати `46`.
`c` має дорівнювати `46`.
```js
assert(c === 46);

View File

@@ -27,19 +27,19 @@ myVar -= 5;
# --hints--
`a` повинна дорівнювати `5`.
`a` має дорівнювати `5`.
```js
assert(a === 5);
```
`b` повинна дорівнювати `-6`.
`b` має дорівнювати `-6`.
```js
assert(b === -6);
```
`c` повинна дорівнювати `2`.
`c` має дорівнювати `2`.
```js
assert(c === 2);

View File

@@ -1,6 +1,6 @@
---
id: 56533eb9ac21ba0edf2244b7
title: Об'єднання рядків за допомогою оператора +
title: Обєднання рядків за допомогою оператора +
challengeType: 1
videoUrl: 'https://scrimba.com/c/cNpM8AN'
forumTopicId: 16802
@@ -9,7 +9,7 @@ dashedName: concatenating-strings-with-plus-operator
# --description--
Оператором <dfn>об'єднання (конкатенації)</dfn> у JavaScript називають оператор `+`, який використовується зі значенням `String`. З рядків можна створити новий рядок, <dfn>об'єднавши</dfn> їх.
Оператором <dfn>обєднання (конкатенації)</dfn> у JavaScript називають оператор `+`, який використовується зі значенням `String`. З рядків можна створити новий рядок, <dfn>обєднавши</dfn> їх.
**Приклад**
@@ -17,7 +17,7 @@ dashedName: concatenating-strings-with-plus-operator
'My name is Alan,' + ' I concatenate.'
```
**Примітка:** зверніть увагу на пробіли. Конкатенація не додає пробіли між об'єднаними рядками, вам потрібно додавати їх самостійно.
**Примітка:** зверніть увагу на пробіли. Конкатенація не додає пробіли між обєднаними рядками, вам потрібно додавати їх самостійно.
Приклад:

View File

@@ -1,6 +1,6 @@
---
id: 56533eb9ac21ba0edf2244b8
title: Об'єднання рядків за допомогою оператора +=
title: Обєднання рядків за допомогою оператора +=
challengeType: 1
videoUrl: 'https://scrimba.com/c/cbQmmC4'
forumTopicId: 16803
@@ -9,9 +9,9 @@ dashedName: concatenating-strings-with-the-plus-equals-operator
# --description--
Ми можемо також використати оператор `+=`, щоб <dfn>об'єднати</dfn> рядок з кінцем наявної змінної рядка. Це корисно ще й для того, щоб розділити довгий рядок на декілька малих.
Ми можемо також використати оператор `+=`, щоб <dfn>обєднати</dfn> рядок з кінцем наявної змінної рядка. Це корисно ще й для того, щоб розділити довгий рядок на декілька малих.
**Примітка:** зверніть увагу на пробіли. Конкатенація не додає пробіли між об'єднаними рядками, вам потрібно додавати їх самостійно.
**Примітка:** зверніть увагу на пробіли. Конкатенація не додає пробіли між обєднаними рядками, вам потрібно додавати їх самостійно.
Приклад:
@@ -24,7 +24,7 @@ ourStr += "I come second.";
# --instructions--
Побудуйте `myStr` у декількох рядках, об'єднавши ці два рядки: `This is the first sentence.` та `This is the second sentence.`, використовуючи оператор `+=`. Використайте оператор `+=` подібно до того, як показно в прикладі, та не забудьте використати пробіл між двома рядками. Почніть з присвоєння першого рядка до `myStr`, а потім додайте другий рядок.
Побудуйте `myStr` з декількох рядків, обєднавши ці два рядки: `This is the first sentence.` та `This is the second sentence.`, використовуючи оператор `+=`. Використайте оператор `+=` подібно до того, як показно в прикладі, та не забудьте використати пробіл між двома рядками. Почніть з присвоєння першого рядка до `myStr`, а потім додайте другий рядок.
# --hints--

View File

@@ -9,7 +9,7 @@ dashedName: constructing-strings-with-variables
# --description--
Іноді потрібно побудувати рядок. За допомогою оператора об'єднання (`+`) можна вставити одну або більше змінних у рядок, який ви будуєте.
Іноді потрібно побудувати рядок. За допомогою оператора обєднання (`+`) можна вставити одну або більше змінних у рядок, який ви будуєте.
Приклад:

View File

@@ -43,7 +43,7 @@ assert(/for\s*\([^)]+?\)/.test(code));
assert(code.match(/myArray.push/));
```
`myArray` повинен дорівнювати `[9, 7, 5, 3, 1]`.
`myArray` має дорівнювати `[9, 7, 5, 3, 1]`.
```js
assert.deepEqual(myArray, [9, 7, 5, 3, 1]);

View File

@@ -9,13 +9,13 @@ dashedName: declare-javascript-variables
# --description--
В інформатиці <dfn>дані</dfn> мають важливе значення для комп'ютера. JavaScript надає вісім різних <dfn>типів даних</dfn>: `undefined`, `null`, `boolean`, `string`, `symbol`, `bigint`, `number` та `object`.
В інформатиці <dfn>дані</dfn> мають важливе значення для компютера. JavaScript надає вісім різних <dfn>типів даних</dfn>: `undefined`, `null`, `boolean`, `string`, `symbol`, `bigint`, `number` та `object`.
Наприклад, комп'ютери розрізняють числа, як-от `12` та рядки (`strings`), як-от `"12"`, `"dog"` або `"123 cats"`, які є набором символів. Комп'ютери можуть виконувати математичні операції з числом, але не з рядком.
Наприклад, компютери розрізняють числа, як-от `12` та рядки (`strings`), як-от `"12"`, `"dog"` або `"123 cats"`, які є набором символів. Компютери можуть виконувати математичні операції з числом, але не з рядком.
<dfn>Змінні</dfn> дозволяють комп'ютеру динамічно зберігати та керувати даними. Для цього вони використовують «мітку», щоб вказати на дані, а не використовувати самі дані. Будь-який з восьми видів даних може зберігатися у змінній.
<dfn>Змінні</dfn> дозволяють компютеру динамічно зберігати та керувати даними. Для цього вони використовують «мітку», щоб вказати на дані, а не використовувати самі дані. Будь-який з восьми видів даних може зберігатися у змінній.
Змінні подібні до змінних «x» та «y», які використовуються в математиці, і це означає, що вони є простою назвою для представлення даних, на які ми хочемо посилатися. Комп'ютерні змінні відрізняються від математичних змінних тим, що вони можуть зберігати різні значення в різний час.
Змінні подібні до змінних «x» та «y», які використовуються в математиці, і це означає, що вони є простою назвою для представлення даних, на які ми хочемо посилатися. Компютерні змінні відрізняються від математичних змінних тим, що вони можуть зберігати різні значення в різний час.
Ми вказуємо JavaScript створити або <dfn>оголосити</dfn> змінну, написавши перед нею ключове слово `var`, ось так:

View File

@@ -1,6 +1,6 @@
---
id: 56533eb9ac21ba0edf2244ad
title: Зменшення числа за допомогою JavaScript
title: Декремент числа з JavaScript
challengeType: 1
videoUrl: 'https://scrimba.com/c/cM2KeS2'
forumTopicId: 17558
@@ -29,7 +29,7 @@ i = i - 1;
# --hints--
`myVar` повинна дорівнювати `10`.
`myVar` має дорівнювати `10`.
```js
assert(myVar === 10);

View File

@@ -1,6 +1,6 @@
---
id: 56bbb991ad1ed5201cd392d3
title: Видалення властивостей з об'єкта JavaScript
title: Видалення властивостей з обєкта JavaScript
challengeType: 1
videoUrl: 'https://scrimba.com/c/cDqKdTv'
forumTopicId: 17560
@@ -9,7 +9,7 @@ dashedName: delete-properties-from-a-javascript-object
# --description--
Ми також можемо видалити властивості з об'єктів, ось так:
Ми також можемо видалити властивості з обєктів, ось так:
```js
delete ourDog.bark;
@@ -29,7 +29,7 @@ const ourDog = {
delete ourDog.bark;
```
Після останнього рядка, показано вище, об'єкт `ourDog` виглядає ось так:
Після останнього рядка, показано вище, обєкт `ourDog` виглядає ось так:
```js
{

View File

@@ -70,7 +70,7 @@ assert(/\\SecondLine/.test(myStr));
assert(/SecondLine\nThirdLine/.test(myStr));
```
`myStr` повинна містити лише символи, вказані в інструкціях
`myStr` має містити лише символи, вказані в інструкціях
```js
assert(myStr === 'FirstLine\n\t\\SecondLine\nThirdLine');

View File

@@ -20,7 +20,7 @@ console.log(camper);
У невеликій програмі вам, можливо, і не загрожуватиме така проблема. Але з поступовим збільшенням кодової бази, ви можете випадково переписати якусь змінну. Оскільки така дія не вважається помилковою, то й знайти та виправити такі похибки буде складніше.
Ключове слово `let` було введено в ES6 (важливе оновлення до JavaScript), щоб потенційно розв'язати цю проблему з ключовим словом `var`. Про інші функції ES6 ви дізнаєтеся у наступних завданнях.
Ключове слово `let` було введено в ES6 (важливе оновлення до JavaScript), щоб потенційно розвязати цю проблему з ключовим словом `var`. Про інші функції ES6 ви дізнаєтеся у наступних завданнях.
Якщо ви заміните `var` на `let` у коді вище, це призведе до помилки:

View File

@@ -15,7 +15,7 @@ dashedName: find-the-length-of-a-string
console.log("Alan Peter".length);
```
На консолі відображатиметься значення `10`. Зауважте, що пробіл між «Alan» та «Peter» також враховується.
Консоль показуватиме значення `10`. Зауважте, що пробіл між «Alan» та «Peter» також враховується.
Наприклад, якби ми створили змінну `const firstName = "Ada"`, ми б змогли визначити довжину рядка `Ada` за допомогою властивості `firstName.length`.
@@ -34,7 +34,7 @@ assert(
);
```
`lastNameLength` повинна дорівнювати 8.
`lastNameLength` має дорівнювати 8.
```js
assert(typeof lastNameLength !== 'undefined' && lastNameLength === 8);

View File

@@ -20,7 +20,7 @@ dashedName: finding-a-remainder-in-javascript
<blockquote>17 % 2 = 1 (17 є непарним)<br>48 % 2 = 0 (48 є парним)</blockquote>
**Примітка:** оператор <dfn>остачі</dfn> іноді неправильно називають оператором модуля. Він дуже схожий на модуль, але працює неправильно з від'ємними числами.
**Примітка:** оператор <dfn>остачі</dfn> іноді неправильно називають оператором модуля. Він дуже схожий на модуль, але працює неправильно з відємними числами.
# --instructions--

View File

@@ -21,7 +21,7 @@ JavaScript має функцію `Math.random()`, яка генерує випа
# --hints--
`randomFraction` повинна повертати випадкове число.
`randomFraction` має повертати випадкове число.
```js
assert(typeof randomFraction() === 'number');

View File

@@ -13,7 +13,7 @@ dashedName: generate-random-whole-numbers-with-javascript
<ol><li>Використайте <code>Math.random()</code>, щоб згенерувати випадкове десяткове число.</li><li>Помножте це випадкове десяткове число на <code>20</code>.</li><li>Використайте іншу функцію, <code>Math.floor()</code>, щоб заокруглити число до найближчого цілого числа.</li></ol>
Пам'ятайте, що `Math.random()` ніколи не повертає `1`, і, оскільки ми округлюємо, неможливо отримати `20`. Цей метод видасть нам ціле число від `0` до `19`.
Памятайте, що `Math.random()` ніколи не повертає `1`, і, оскільки ми округлюємо, неможливо отримати `20`. Цей метод видасть нам ціле число від `0` до `19`.
Зіставивши усе разом, ось так виглядає наш код:

View File

@@ -43,7 +43,7 @@ assert(calcMax === 15);
assert(randomRange(0, 1) % 1 === 0);
```
`randomRange` повинен використовувати обидва `myMax` та `myMin`, і повертати випадкове число у межах вашого діапазону.
`randomRange` має використовувати `myMax` та `myMin`, і повертати випадкове число у межах вашого діапазону.
```js
assert(

View File

@@ -21,7 +21,7 @@ dashedName: global-scope-and-functions
# --hints--
`myGlobal` потрібно визначити
`myGlobal` повинна бути визначеною
```js
assert(typeof myGlobal != 'undefined');

View File

@@ -36,7 +36,7 @@ function myFun() {
assert(outerWear === 'T-Shirt');
```
`myOutfit` повинна повертати рядок `sweater`.
`myOutfit` має повертати рядок `sweater`.
```js
assert(myOutfit() === 'sweater');

View File

@@ -19,67 +19,67 @@ dashedName: golf-code
# --hints--
`golfScore(4, 1)` повинен повертати рядок `Hole-in-one!`
`golfScore(4, 1)` має повертати рядок `Hole-in-one!`
```js
assert(golfScore(4, 1) === 'Hole-in-one!');
```
`golfScore(4, 2)` повинен повертати рядок `Eagle`
`golfScore(4, 2)` має повертати рядок `Eagle`
```js
assert(golfScore(4, 2) === 'Eagle');
```
`golfScore(5, 2)` повинен повертати рядок `Eagle`
`golfScore(5, 2)` має повертати рядок `Eagle`
```js
assert(golfScore(5, 2) === 'Eagle');
```
`golfScore(4, 3)` повинен повертати рядок `Birdie`
`golfScore(4, 3)` має повертати рядок `Birdie`
```js
assert(golfScore(4, 3) === 'Birdie');
```
`golfScore(4, 4)` повинен повертати рядок `Par`
`golfScore(4, 4)` має повертати рядок `Par`
```js
assert(golfScore(4, 4) === 'Par');
```
`golfScore(1, 1)` повинен повертати рядок `Hole-in-one!`
`golfScore(1, 1)` має повертати рядок `Hole-in-one!`
```js
assert(golfScore(1, 1) === 'Hole-in-one!');
```
`golfScore(5, 5)` повинен повертати рядок `Par`
`golfScore(5, 5)` має повертати рядок `Par`
```js
assert(golfScore(5, 5) === 'Par');
```
`golfScore(4, 5)` повинен повертати рядок `Bogey`
`golfScore(4, 5)` має повертати рядок `Bogey`
```js
assert(golfScore(4, 5) === 'Bogey');
```
`golfScore(4, 6)` повинен повертати рядок `Double Bogey`
`golfScore(4, 6)` має повертати рядок `Double Bogey`
```js
assert(golfScore(4, 6) === 'Double Bogey');
```
`golfScore(4, 7)` повинен повертати рядок `Go Home!`
`golfScore(4, 7)` має повертати рядок `Go Home!`
```js
assert(golfScore(4, 7) === 'Go Home!');
```
`golfScore(5, 9)` повинен повертати рядок `Go Home!`
`golfScore(5, 9)` має повертати рядок `Go Home!`
```js
assert(golfScore(5, 9) === 'Go Home!');

View File

@@ -1,6 +1,6 @@
---
id: 56533eb9ac21ba0edf2244ac
title: Збільшення числа за допомогою JavaScript
title: Інкремент числа з JavaScript
challengeType: 1
videoUrl: 'https://scrimba.com/c/ca8GLT9'
forumTopicId: 18201
@@ -29,7 +29,7 @@ i = i + 1;
# --hints--
`myVar` повинна дорівнювати `88`.
`myVar` має дорівнювати `88`.
```js
assert(myVar === 88);

View File

@@ -49,31 +49,31 @@ assert(
);
```
`testElseIf(0)` повинен повертати рядок `Smaller than 5`
`testElseIf(0)` має повертати рядок `Smaller than 5`
```js
assert(testElseIf(0) === 'Smaller than 5');
```
`testElseIf(5)` повинен повертати рядок `Between 5 and 10`
`testElseIf(5)` має повертати рядок `Between 5 and 10`
```js
assert(testElseIf(5) === 'Between 5 and 10');
```
`testElseIf(7)` повинен повертати рядок `Between 5 and 10`
`testElseIf(7)` має повертати рядок `Between 5 and 10`
```js
assert(testElseIf(7) === 'Between 5 and 10');
```
`testElseIf(10)` повинен повертати рядок `Between 5 and 10`
`testElseIf(10)` має повертати рядок `Between 5 and 10`
```js
assert(testElseIf(10) === 'Between 5 and 10');
```
`testElseIf(12)` повинен повертати рядок `Greater than 10`
`testElseIf(12)` має повертати рядок `Greater than 10`
```js
assert(testElseIf(12) === 'Greater than 10');

View File

@@ -37,25 +37,25 @@ assert(code.match(/if/g).length === 1);
assert(/else/g.test(code));
```
`testElse(4)` повинен повертати рядок `5 or Smaller`
`testElse(4)` має повертати рядок `5 or Smaller`
```js
assert(testElse(4) === '5 or Smaller');
```
`testElse(5)` повинен повертати рядок `5 or Smaller`
`testElse(5)` має повертати рядок `5 or Smaller`
```js
assert(testElse(5) === '5 or Smaller');
```
`testElse(6)` повинен повертати рядок `Bigger than 5`
`testElse(6)` має повертати рядок `Bigger than 5`
```js
assert(testElse(6) === 'Bigger than 5');
```
`testElse(10)` повинен повертати рядок `Bigger than 5`
`testElse(10)` має повертати рядок `Bigger than 5`
```js
assert(testElse(10) === 'Bigger than 5');

View File

@@ -9,7 +9,7 @@ dashedName: iterate-odd-numbers-with-a-for-loop
# --description--
Цикли for не обов’язково повинні повторювати одне число за раз. Змінюючи наш `final-expression`, ми можемо перерахувати лише парні числа.
Цикли for не обов’язково повинні додавати одиницю кожної ітерації. Змінюючи наш `final-expression`, ми можемо перерахувати лише парні числа.
Розпочнемо з `i = 0` та створимо цикл, коли `i < 10`. Кожного циклу ми збільшуватимемо `i` на 2 за допомогою `i += 2`.
@@ -35,7 +35,7 @@ for (let i = 0; i < 10; i += 2) {
assert(/for\s*\([^)]+?\)/.test(code));
```
`myArray` повинен дорівнювати `[1, 3, 5, 7, 9]`.
`myArray` має дорівнювати `[1, 3, 5, 7, 9]`.
```js
assert.deepEqual(myArray, [1, 3, 5, 7, 9]);

View File

@@ -19,7 +19,7 @@ for (let i = 0; i < arr.length; i++) {
}
```
Пам'ятайте, що масиви мають індексацію на основі нуля і це означає, що останнім індексом масиву є `length - 1`. Нашою умовою для цього циклу є `i < arr.length`, який зупиняє цикл, коли `i` дорівнює `length`. У цьому випадку останньою ітерацією є `i === 4`, тобто коли `i` дорівнює `arr.length - 1` і виводить `6` на консоль. Тоді `i` збільшується до `5`, і цикл закінчується через те, що `i < arr.length` є `false`.
Памятайте, що масиви мають індексацію на основі нуля і це означає, що останнім індексом масиву є `length - 1`. Нашою умовою для цього циклу є `i < arr.length`, який зупиняє цикл, коли `i` дорівнює `length`. У цьому випадку останньою ітерацією є `i === 4`, тобто коли `i` дорівнює `arr.length - 1` і виводить `6` на консоль. Тоді `i` збільшується до `5`, і цикл закінчується через те, що `i < arr.length` є `false`.
# --instructions--
@@ -33,7 +33,7 @@ for (let i = 0; i < arr.length; i++) {
assert(code.match(/(var|let|const)\s*?total\s*=\s*0.*?;?/));
```
`total` повинна дорівнювати 20.
`total` має дорівнювати 20.
```js
assert(total === 20);

View File

@@ -59,13 +59,13 @@ do {
assert(code.match(/do/g));
```
`myArray` повинен дорівнювати `[10]`.
`myArray` має дорівнювати `[10]`.
```js
assert.deepEqual(myArray, [10]);
```
`i` повинна дорівнювати `11`
`i` має дорівнювати `11`
```js
assert.equal(i, 11);

View File

@@ -47,7 +47,7 @@ for (let i = 0; i < 5; i++) {
assert(/for\s*\([^)]+?\)/.test(code));
```
`myArray` повинен дорівнювати `[1, 2, 3, 4, 5]`.
`myArray` має дорівнювати `[1, 2, 3, 4, 5]`.
```js
assert.deepEqual(myArray, [1, 2, 3, 4, 5]);

View File

@@ -39,7 +39,7 @@ while (i < 5) {
assert(code.match(/while/g));
```
`myArray` повинен дорівнювати `[5, 4, 3, 2, 1, 0]`.
`myArray` має дорівнювати `[5, 4, 3, 2, 1, 0]`.
```js
assert.deepEqual(myArray, [5, 4, 3, 2, 1, 0]);

View File

@@ -58,19 +58,19 @@ bar(0)
# --hints--
`orderMyLogic(4)` повинен повертати рядок `Less than 5`
`orderMyLogic(4)` має повертати рядок `Less than 5`
```js
assert(orderMyLogic(4) === 'Less than 5');
```
`orderMyLogic(6)` повинен повертати рядок `Less than 10`
`orderMyLogic(6)` має повертати рядок `Less than 10`
```js
assert(orderMyLogic(6) === 'Less than 10');
```
`orderMyLogic(11)` повинен повертати рядок `Greater than or equal to 10`
`orderMyLogic(11)` має повертати рядок `Greater than or equal to 10`
```js
assert(orderMyLogic(11) === 'Greater than or equal to 10');

View File

@@ -1,6 +1,6 @@
---
id: 56bbb991ad1ed5201cd392cc
title: Manipulate Arrays With pop Method
title: Маніпулювання масивами за допомогою методу pop
challengeType: 1
videoUrl: 'https://scrimba.com/c/cRbVZAB'
forumTopicId: 18236
@@ -30,7 +30,7 @@ console.log(threeArr);
# --hints--
`myArray` повинен містити лише `[["John", 23]]`.
`myArray` має містити лише `[["John", 23]]`.
```js
assert(
@@ -50,7 +50,7 @@ assert(
assert(/removedFromMyArray\s*=\s*myArray\s*.\s*pop\s*(\s*)/.test(code));
```
`removedFromMyArray` повинен містити лише `["cat", 2]`.
`removedFromMyArray` має містити лише `["cat", 2]`.
```js
assert(

View File

@@ -1,6 +1,6 @@
---
id: 56bbb991ad1ed5201cd392cb
title: Manipulate Arrays With push Method
title: Маніпулювання масивами за допомогою методу push
challengeType: 1
videoUrl: 'https://scrimba.com/c/cnqmVtJ'
forumTopicId: 18237
@@ -31,7 +31,7 @@ arr2.push(["happy", "joy"]);
# --hints--
Тепер `myArray` повинен дорівнювати `[["John", 23], ["cat", 2], ["dog", 3]]`.
Тепер `myArray` має дорівнювати `[["John", 23], ["cat", 2], ["dog", 3]]`.
```js
assert(

View File

@@ -1,6 +1,6 @@
---
id: 56bbb991ad1ed5201cd392cd
title: Manipulate Arrays With shift Method
title: Маніпулювання масивами за допомогою методу shift
challengeType: 1
videoUrl: 'https://scrimba.com/c/cRbVETW'
forumTopicId: 18238
@@ -11,7 +11,7 @@ dashedName: manipulate-arrays-with-shift
`pop()` завжди видаляє останній елемент масиву. А якщо потрібно видалити перший?
Саме тут нам на допомогу приходить `.shift()`. Вона працює так само, як і `.pop()`, але видаляє перший елемент замість останнього.
Саме тут нам на допомогу приходить `.shift()`. Він працює так само, як і `.pop()`, але видаляє перший елемент замість останнього.
Приклад:
@@ -28,7 +28,7 @@ const removedFromOurArray = ourArray.shift();
# --hints--
Тепер `myArray` повинен дорівнювати `[["dog", 3]]`.
Тепер `myArray` має дорівнювати `[["dog", 3]]`.
```js
assert(
@@ -42,7 +42,7 @@ assert(
);
```
`removedFromMyArray` повинен містити `["John", 23]`.
`removedFromMyArray` має містити `["John", 23]`.
```js
assert(

View File

@@ -1,6 +1,6 @@
---
id: 56bbb991ad1ed5201cd392ce
title: Manipulate Arrays With unshift Method
title: Маніпулювання масивами за допомогою методу unshift
challengeType: 1
videoUrl: 'https://scrimba.com/c/ckNDESv'
forumTopicId: 18239
@@ -9,7 +9,7 @@ dashedName: manipulate-arrays-with-unshift
# --description--
Ви можете не лише перемістити (`shift`) елементи з початку масиву, але й змістити (`unshift`) їх на початок масиву, тобто додати елементи перед масивом.
Ви можете не лише перемістити (`shift`) елементи з початку масиву, але й змістити (`unshift`) їх на початок масиву, тобто додати елементи спочатку.
`.unshift()` працює в точності як `.push()`, але замість додавання елемента в кінець масиву, `unshift()` додає елемент на початку масиву.
@@ -29,7 +29,7 @@ ourArray.unshift("Happy");
# --hints--
Тепер `myArray` повинен мати `[["Paul", 35], ["dog", 3]]`.
Тепер `myArray` має дорівнювати `[["Paul", 35], ["dog", 3]]`.
```js
assert(

View File

@@ -37,55 +37,55 @@ switch (val) {
# --hints--
`sequentialSizes(1)` повинен повертати рядок `Low`
`sequentialSizes(1)` має повертати рядок `Low`
```js
assert(sequentialSizes(1) === 'Low');
```
`sequentialSizes(2)` повинен повертати рядок `Low`
`sequentialSizes(2)` має повертати рядок `Low`
```js
assert(sequentialSizes(2) === 'Low');
```
`sequentialSizes(3)` повинен повертати рядок `Low`
`sequentialSizes(3)` має повертати рядок `Low`
```js
assert(sequentialSizes(3) === 'Low');
```
`sequentialSizes(4)` повинен повертати рядок `Mid`
`sequentialSizes(4)` має повертати рядок `Mid`
```js
assert(sequentialSizes(4) === 'Mid');
```
`sequentialSizes(5)` повинен повертати рядок `Mid`
`sequentialSizes(5)` має повертати рядок `Mid`
```js
assert(sequentialSizes(5) === 'Mid');
```
`sequentialSizes(6)` повинен повертати рядок `Mid`
`sequentialSizes(6)` має повертати рядок `Mid`
```js
assert(sequentialSizes(6) === 'Mid');
```
`sequentialSizes(7)` повинен повертати рядок `High`
`sequentialSizes(7)` має повертати рядок `High`
```js
assert(sequentialSizes(7) === 'High');
```
`sequentialSizes(8)` повинен повертати рядок `High`
`sequentialSizes(8)` має повертати рядок `High`
```js
assert(sequentialSizes(8) === 'High');
```
`sequentialSizes(9)` повинен повертати рядок `High`
`sequentialSizes(9)` має повертати рядок `High`
```js
assert(sequentialSizes(9) === 'High');

View File

@@ -1,6 +1,6 @@
---
id: bd7993c9c69feddfaeb7bdef
title: Множення двох десяткових чисел за допомогою JavaScript
title: Множення двох десяткових чисел з JavaScript
challengeType: 1
videoUrl: 'https://scrimba.com/c/ce2GeHq'
forumTopicId: 301173

View File

@@ -1,6 +1,6 @@
---
id: cf1231c1c11feddfaeb5bdef
title: Множення двох чисел за допомогою JavaScript
title: Множення двох чисел з JavaScript
challengeType: 1
videoUrl: 'https://scrimba.com/c/cP3y3Aq'
forumTopicId: 18243

View File

@@ -31,13 +31,13 @@ for (let i = 0; i < arr.length; i++) {
# --hints--
`multiplyAll([[1], [2], [3]])` повинен повернути `6`
`multiplyAll([[1], [2], [3]])` має повертати `6`
```js
assert(multiplyAll([[1], [2], [3]]) === 6);
```
`multiplyAll([[1, 2], [3, 4], [5, 6, 7]])` повинен повернути `5040`
`multiplyAll([[1, 2], [3, 4], [5, 6, 7]])` має повертати `5040`
```js
assert(
@@ -49,7 +49,7 @@ assert(
);
```
`multiplyAll([[5, 1], [0.2, 4, 0.5], [3, 9]])` повинен повернути `54`
`multiplyAll([[5, 1], [0.2, 4, 0.5], [3, 9]])` має повертати `54`
```js
assert(

View File

@@ -32,13 +32,13 @@ typeof '3'
# --hints--
`compareEquality(10, "10")` повинен повертати рядок `Not Equal`
`compareEquality(10, "10")` має повертати рядок `Not Equal`
```js
assert(compareEquality(10, '10') === 'Not Equal');
```
`compareEquality("20", 20)` повинен повертати рядок `Not Equal`
`compareEquality("20", 20)` має повертати рядок `Not Equal`
```js
assert(compareEquality('20', 20) === 'Not Equal');

View File

@@ -23,13 +23,13 @@ dashedName: profile-lookup
# --hints--
`lookUpProfile("Kristian", "lastName")` повинен повертати рядок `Vos`
`lookUpProfile("Kristian", "lastName")` має повертати рядок `Vos`
```js
assert(lookUpProfile('Kristian', 'lastName') === 'Vos');
```
`lookUpProfile("Sherlock", "likes")` повинен повернутись як `["Intriguing Cases", "Violin"]`
`lookUpProfile("Sherlock", "likes")` має повертати `["Intriguing Cases", "Violin"]`
```js
assert.deepEqual(lookUpProfile('Sherlock', 'likes'), [
@@ -38,25 +38,25 @@ assert.deepEqual(lookUpProfile('Sherlock', 'likes'), [
]);
```
`lookUpProfile("Harry", "likes")` повинен повернути об'єкт
`lookUpProfile("Harry", "likes")` має повертати масив
```js
assert(typeof lookUpProfile('Harry', 'likes') === 'object');
```
`lookUpProfile("Bob", "number")` повинен повертати рядок `No such contact`
`lookUpProfile("Bob", "number")` має повертати рядок `No such contact`
```js
assert(lookUpProfile('Bob', 'number') === 'No such contact');
```
`lookUpProfile("Bob", "potato")` повинен повертати рядок `No such contact`
`lookUpProfile("Bob", "potato")` має повертати рядок `No such contact`
```js
assert(lookUpProfile('Bob', 'potato') === 'No such contact');
```
`lookUpProfile("Akira", "address")` повинен повертати рядок `No such property`
`lookUpProfile("Akira", "address")` має повертати рядок `No such property`
```js
assert(lookUpProfile('Akira', 'address') === 'No such property');

View File

@@ -44,19 +44,19 @@ dashedName: replace-loops-using-recursion
# --hints--
`sum([1], 0)` повинен дорівнювати 0.
`sum([1], 0)` має дорівнювати 0.
```js
assert.equal(sum([1], 0), 0);
```
`sum([2, 3, 4], 1)` повинен дорівнювати 2.
`sum([2, 3, 4], 1)` має дорівнювати 2.
```js
assert.equal(sum([2, 3, 4], 1), 2);
```
`sum([2, 3, 4, 5], 3)` повинен дорівнювати 9.
`sum([2, 3, 4, 5], 3)` має дорівнювати 9.
```js
assert.equal(sum([2, 3, 4, 5], 3), 9);

View File

@@ -37,19 +37,19 @@ const answer = plusThree(5);
assert(typeof timesFive === 'function');
```
`timesFive(5)` повинна повертати `25`
`timesFive(5)` має повертати `25`
```js
assert(timesFive(5) === 25);
```
`timesFive(2)` повинна повертати `10`
`timesFive(2)` має повертати `10`
```js
assert(timesFive(2) === 10);
```
`timesFive(0)` повинна повертати `0`
`timesFive(0)` має повертати `0`
```js
assert(timesFive(0) === 0);

View File

@@ -33,43 +33,43 @@ myFun();
# --hints--
`abTest(2, 2)` повинна повертати число
`abTest(2, 2)` має повертати число
```js
assert(typeof abTest(2, 2) === 'number');
```
`abTest(2, 2)` повинна повертати `8`
`abTest(2, 2)` має повертати `8`
```js
assert(abTest(2, 2) === 8);
```
`abTest(-2, 2)` повинна повертати `undefined`
`abTest(-2, 2)` має повертати `undefined`
```js
assert(abTest(-2, 2) === undefined);
```
`abTest(2, -2)` повинна повертати `undefined`
`abTest(2, -2)` має повертати `undefined`
```js
assert(abTest(2, -2) === undefined);
```
`abTest(2, 8)` повинна повертати `18`
`abTest(2, 8)` має повертати `18`
```js
assert(abTest(2, 8) === 18);
```
`abTest(3, 3)` повинна повертати `12`
`abTest(3, 3)` має повертати `12`
```js
assert(abTest(3, 3) === 12);
```
`abTest(0, 0)` повинна повертати `0`
`abTest(0, 0)` має повертати `0`
```js
assert(abTest(0, 0) === 0);

View File

@@ -37,13 +37,13 @@ function isEqual(a, b) {
# --hints--
`isLess(10, 15)` повинна повертати `true`
`isLess(10, 15)` має повертати `true`
```js
assert(isLess(10, 15) === true);
```
`isLess(15, 10)` повинна повертати `false`
`isLess(15, 10)` має повертати `false`
```js
assert(isLess(15, 10) === false);

View File

@@ -17,29 +17,29 @@ dashedName: stand-in-line
Додайте число до кінця масиву, а тоді видаліть перший елемент з масиву.
Функція `nextInLine` повинна повертати видалений елемент.
Функція `nextInLine` має повертати видалений елемент.
# --hints--
`nextInLine([], 5)` повинна повертати число.
`nextInLine([], 5)` має повертати число.
```js
assert.isNumber(nextInLine([], 5));
```
`nextInLine([], 1)` повинна повертати `1`
`nextInLine([], 1)` має повертати `1`
```js
assert(nextInLine([], 1) === 1);
```
`nextInLine([2], 1)` повинна повертати `2`
`nextInLine([2], 1)` має повертати `2`
```js
assert(nextInLine([2], 1) === 2);
```
`nextInLine([5,6,7,8,9], 1)` повинна повертати `5`
`nextInLine([5,6,7,8,9], 1)` має повертати `5`
```js
assert(nextInLine([5, 6, 7, 8, 9], 1) === 5);

View File

@@ -1,6 +1,6 @@
---
id: cf1111c1c11feddfaeb4bdef
title: Віднімання одного числа від іншого за допомогою JavaScript
title: Віднімання одного числа від іншого з JavaScript
challengeType: 1
videoUrl: 'https://scrimba.com/c/cP3yQtk'
forumTopicId: 18314

View File

@@ -30,7 +30,7 @@ myObj.hasOwnProperty("middle");
# --hints--
`checkObj({gift: "pony", pet: "kitten", bed: "sleigh"}, "gift")` повинен повертати рядок `pony`.
`checkObj({gift: "pony", pet: "kitten", bed: "sleigh"}, "gift")` має повертати рядок `pony`.
```js
assert(
@@ -38,7 +38,7 @@ assert(
);
```
`checkObj({gift: "pony", pet: "kitten", bed: "sleigh"}, "pet")` повинен повертати рядок `kitten`.
`checkObj({gift: "pony", pet: "kitten", bed: "sleigh"}, "pet")` має повертати рядок `kitten`.
```js
assert(
@@ -46,7 +46,7 @@ assert(
);
```
`checkObj({gift: "pony", pet: "kitten", bed: "sleigh"}, "house")` повинен повертати рядок `Not Found`.
`checkObj({gift: "pony", pet: "kitten", bed: "sleigh"}, "house")` має повертати рядок `Not Found`.
```js
assert(
@@ -55,19 +55,19 @@ assert(
);
```
`checkObj({city: "Seattle"}, "city")` повинен повертати рядок `Seattle`.
`checkObj({city: "Seattle"}, "city")` має повертати рядок `Seattle`.
```js
assert(checkObj({ city: 'Seattle' }, 'city') === 'Seattle');
```
`checkObj({city: "Seattle"}, "district")` повинен повертати рядок `Not Found`.
`checkObj({city: "Seattle"}, "district")` має повертати рядок `Not Found`.
```js
assert(checkObj({ city: 'Seattle' }, 'district') === 'Not Found');
```
`checkObj({pet: "kitten", bed: "sleigh"}, "gift")` повинен повертати рядок `Not Found`.
`checkObj({pet: "kitten", bed: "sleigh"}, "gift")` має повертати рядок `Not Found`.
```js
assert(checkObj({ pet: 'kitten', bed: 'sleigh' }, 'gift') === 'Not Found');

View File

@@ -25,7 +25,7 @@ dashedName: understanding-boolean-values
assert(typeof welcomeToBooleans() === 'boolean');
```
`welcomeToBooleans()` повинна повертати `true`.
`welcomeToBooleans()` має повертати `true`.
```js
assert(welcomeToBooleans() === true);

View File

@@ -9,7 +9,7 @@ dashedName: understanding-undefined-value-returned-from-a-function
# --description--
Функція може містити інструкцію `return`, але це необов'язково. Якщо функція не має інструкції `return`, то під час виклику функція обробляє внутрішній код, але поверненим значенням є `undefined`.
Функція може містити інструкцію `return`, але це необовязково. Якщо функція не має інструкції `return`, то під час виклику функція обробляє внутрішній код, але поверненим значенням є `undefined`.
**Приклад**
@@ -31,13 +31,13 @@ addSum(3);
# --hints--
`addFive` повинна бути функцією.
`addFive` має бути функцією.
```js
assert(typeof addFive === 'function');
```
Після запуску обидвох функцій, `sum` повинна дорівнювати `8`.
Після запуску обидвох функцій, `sum` має дорівнювати `8`.
```js
assert(sum === 8);

View File

@@ -1,6 +1,6 @@
---
id: 56bbb991ad1ed5201cd392d1
title: Оновлення властивостей об'єкта
title: Оновлення властивостей обєкта
challengeType: 1
videoUrl: 'https://scrimba.com/c/c9yEJT4'
forumTopicId: 18336
@@ -22,11 +22,11 @@ const ourDog = {
};
```
Оскільки це особливо щаслива собака, змінимо його ім'я на рядок `Happy Camper`. Ось як ми оновлюємо властивість назви об’єкта: `ourDog.name = "Happy Camper";` або `ourDog["name"] = "Happy Camper";`. Тепер, коли ми визначаємо `ourDog.name`, замість `Camper` ми отримуватимемо нове ім’я `Happy Camper`.
Оскільки це особливо щаслива собака, змінимо його імя на рядок `Happy Camper`. Ось як ми оновлюємо властивість назви об’єкта: `ourDog.name = "Happy Camper";` або `ourDog["name"] = "Happy Camper";`. Тепер, коли ми визначаємо `ourDog.name`, замість `Camper` ми отримуватимемо нове ім’я `Happy Camper`.
# --instructions--
Оновіть властивість імені об'єкта `myDog`. Змінимо ім'я з `Coder` на `Happy Coder`. Ви можете використати точкову або дужкову нотацію.
Оновіть властивість імені обєкта `myDog`. Змінимо імя з `Coder` на `Happy Coder`. Ви можете використати точкову або дужкову нотацію.
# --hints--

View File

@@ -30,7 +30,7 @@ const lastLetter = firstName[firstName.length - 1];
# --hints--
`lastLetterOfLastName` повинна бути літера `e`.
`lastLetterOfLastName` має бути літера `e`.
```js
assert(lastLetterOfLastName === 'e');

View File

@@ -30,7 +30,7 @@ const thirdToLastLetter = firstName[firstName.length - 3];
# --hints--
`secondToLastLetterOfLastName` повинна бути літера `c`.
`secondToLastLetterOfLastName` має бути літера `c`.
```js
assert(secondToLastLetterOfLastName === 'c');

View File

@@ -33,7 +33,7 @@ test(false);
`test(true)` повертає рядок `It was true`, а `test(false)` повертає рядок `It was false`.
Коли `test` викликається зі значенням `true`, інструкція `if` оцінює `myCondition`, щоб побачити чи воно `true`. Оскільки воно `true`, функція повертає `It was true`. Коли ми викликаємо `test` зі значенням `false`, то `myCondition` *не* оцінюється як `true`, інструкція у круглих дужках не виконується та функція повертає `It was false`.
Коли `test` викликається зі значенням `true`, інструкція `if` оцінює `myCondition`, щоб побачити чи умова `true`. Оскільки вона `true`, функція повертає `It was true`. Коли ми викликаємо `test` зі значенням `false`, то `myCondition` *не* оцінюється як `true`, інструкція у круглих дужках не виконується та функція повертає `It was false`.
# --instructions--
@@ -41,31 +41,31 @@ test(false);
# --hints--
`trueOrFalse` повинна бути функцією
`trueOrFalse` має бути функцією
```js
assert(typeof trueOrFalse === 'function');
```
`trueOrFalse(true)` повинна повертати рядок
`trueOrFalse(true)` має повертати рядок
```js
assert(typeof trueOrFalse(true) === 'string');
```
`trueOrFalse(false)` повинна повертати рядок
`trueOrFalse(false)` має повертати рядок
```js
assert(typeof trueOrFalse(false) === 'string');
```
`trueOrFalse(true)` повинна повертати рядок `Yes, that was true`
`trueOrFalse(true)` має повертати рядок `Yes, that was true`
```js
assert(trueOrFalse(true) === 'Yes, that was true');
```
`trueOrFalse(false)` повинна повертати рядок `No, that was false`
`trueOrFalse(false)` має повертати рядок `No, that was false`
```js
assert(trueOrFalse(false) === 'No, that was false');

View File

@@ -9,7 +9,7 @@ dashedName: use-multiple-conditional-ternary-operators
# --description--
У попередньому завданні ви використовували одинарний умовний оператор. Ви також можете їх об'єднати для того, щоб перевірити декілька умов.
У попередньому завданні ви використовували одинарний умовний оператор. Ви також можете обєднати їх для того, щоб перевірити декілька умов.
Наступна функція використовує інструкції `if`, `else if` та `else`, щоб перевірити декілька умов:
@@ -51,25 +51,25 @@ function findGreaterOrEqual(a, b) {
# --hints--
`checkSign` повинна використовувати декілька умовних операторів
`checkSign` має використовувати декілька умовних операторів
```js
assert(/.+?\s*?\?\s*?.+?\s*?:\s*?.+?\s*?\?\s*?.+?\s*?:\s*?.+?/gi.test(code));
```
`checkSign(10)` повинна повертати рядок `positive`. Зверніть увагу на те, що важливе написання з великої/малої літери
`checkSign(10)` має повертати рядок `positive`. Зверніть увагу на те, що важливе написання з великої/малої літери
```js
assert(checkSign(10) === 'positive');
```
`checkSign(-12)` повинна повертати рядок `negative`. Зверніть увагу на те, що важливе написання з великої/малої літери
`checkSign(-12)` має повертати рядок `negative`. Зверніть увагу на те, що важливе написання з великої/малої літери
```js
assert(checkSign(-12) === 'negative');
```
`checkSign(0)` повинна повертати рядок `zero`. Зверніть увагу на те, що важливе написання з великої/малої літери
`checkSign(0)` має повертати рядок `zero`. Зверніть увагу на те, що важливе написання з великої/малої літери
```js
assert(checkSign(0) === 'zero');

View File

@@ -8,7 +8,7 @@ dashedName: use-recursion-to-create-a-countdown
# --description--
У <a href="/ukrainian/learn/javascript-algorithms-and-data-structures/basic-javascript/replace-loops-using-recursion" target="_blank" rel="noopener noreferrer nofollow">попередньому завданні</a> ви дізнались, як використовувати рекурсію для заміни циклів `for`. Тепер розглянемо складнішу функцію, яка повертає масив послідовних цілих чисел, починаючи з `1` до числа, переданого функції.
У <a href="/ukrainian/learn/javascript-algorithms-and-data-structures/basic-javascript/replace-loops-using-recursion" target="_blank" rel="noopener noreferrer nofollow">попередньому завданні</a> ви дізнались, як використовувати рекурсію для заміни циклів `for`. Тепер розглянемо складнішу функцію, яка повертає масив послідовних цілих чисел, починаючи з `1` та закінчуючи переданим числом.
Як було згадано в попередньому завданні, ми матимемо <dfn>базовий випадок</dfn>. Він повідомляє рекурсивній функції, коли їй більше не потрібно викликати саму себе. Це простий випадок, коли повернене значення вже відоме. Також існує <dfn>рекурсивний виклик</dfn>, який виконує початкову функцію з різними аргументами. Якщо функція написана правильно, то буде досягнутий базовий випадок.
@@ -27,29 +27,29 @@ function countup(n) {
console.log(countup(5));
```
Значення `[1, 2, 3, 4, 5]` будуть відображені на консолі.
Консоль показуватиме значення `[1, 2, 3, 4, 5]`.
Спочатку це може здатися парадоксальним, адже значення `n` *зменшується*, а значення у кінцевому масиві *збільшується*. Так відбувається через те, що збільшення відбувається останнім, після повернення рекурсивного виклику. На моменті, коли `n` поміщається у масив, `countup(n - 1)` вже проаналізований та повернуто `[1, 2, ..., n - 1]`.
Спочатку це може здатися парадоксальним, адже значення `n` *зменшується*, а значення у кінцевому масиві *збільшується*. Так відбувається через те, що збільшення відбувається останнім, після повернення рекурсивного виклику. На моменті, коли `n` поміщається у масив, `countup(n - 1)` вже проаналізовано та повернуто `[1, 2, ..., n - 1]`.
# --instructions--
Ми вже визначили функцію під назвою `countdown` з одним параметром (`n`). Функція повинна використовувати рекурсію, щоб повернути масив, який містить цілі числа від `n` до `1` на основі параметра `n`. Якщо функція викликається числом меншим за 1, вона повинна повернути порожній масив. Наприклад, якщо викликати цю функцію із `n = 5`, повинен повернутися масив `[5, 4, 3, 2, 1]`. Ваша функція повинна використовувати рекурсію, викликаючи саму себе, та не повинна використовувати цикли.
Ми вже визначили функцію під назвою `countdown` з одним параметром (`n`). Функція повинна використовувати рекурсію, щоб повернути масив, який містить цілі числа від `n` до `1` на основі параметра `n`. Якщо функція викликається числом, меншим за 1, вона повинна повернути порожній масив. Наприклад, якщо викликати цю функцію із `n = 5`, повинен повернутися масив `[5, 4, 3, 2, 1]`. Ваша функція повинна використовувати рекурсію, викликаючи саму себе, та не повинна використовувати цикли.
# --hints--
`countdown(-1)` повинна повертати порожній масив.
`countdown(-1)` має повертати порожній масив.
```js
assert.isEmpty(countdown(-1));
```
`countdown(10)` повинна повертати `[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]`
`countdown(10)` має повертати `[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]`
```js
assert.deepStrictEqual(countdown(10), [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]);
```
`countdown(5)` повинна повертати `[5, 4, 3, 2, 1]`
`countdown(5)` має повертати `[5, 4, 3, 2, 1]`
```js
assert.deepStrictEqual(countdown(5), [5, 4, 3, 2, 1]);

View File

@@ -30,7 +30,7 @@ assert(
);
```
`rangeOfNumbers` повинна використовувати рекурсію (викликати саму себе), щоб розв’язати це завдання.
`rangeOfNumbers` має використовувати рекурсію (викликати саму себе), щоб розв’язати це завдання.
```js
assert(
@@ -38,19 +38,19 @@ assert(
);
```
`rangeOfNumbers(1, 5)` повинна повертати `[1, 2, 3, 4, 5]`.
`rangeOfNumbers(1, 5)` має повертати `[1, 2, 3, 4, 5]`.
```js
assert.deepStrictEqual(rangeOfNumbers(1, 5), [1, 2, 3, 4, 5]);
```
`rangeOfNumbers(6, 9)` повинна повертати `[6, 7, 8, 9]`.
`rangeOfNumbers(6, 9)` має повертати `[6, 7, 8, 9]`.
```js
assert.deepStrictEqual(rangeOfNumbers(6, 9), [6, 7, 8, 9]);
```
`rangeOfNumbers(4, 4)` повинна повертати `[4]`.
`rangeOfNumbers(4, 4)` має повертати `[4]`.
```js
assert.deepStrictEqual(rangeOfNumbers(4, 4), [4]);

View File

@@ -39,25 +39,25 @@ function findGreater(a, b) {
# --hints--
`checkEqual` повинна використовувати умовний оператор
`checkEqual` має використовувати умовний оператор
```js
assert(/.+?\s*?\?\s*?.+?\s*?:\s*?.+?/.test(code));
```
`checkEqual(1, 2)` повинна повертати рядок `Not Equal`
`checkEqual(1, 2)` має повертати рядок `Not Equal`
```js
assert(checkEqual(1, 2) === 'Not Equal');
```
`checkEqual(1, 1)` повинна повертати рядок `Equal`
`checkEqual(1, 1)` має повертати рядок `Equal`
```js
assert(checkEqual(1, 1) === 'Equal');
```
`checkEqual(1, -1)` повинна повертати рядок `Not Equal`
`checkEqual(1, -1)` має повертати рядок `Not Equal`
```js
assert(checkEqual(1, -1) === 'Not Equal');

View File

@@ -31,31 +31,31 @@ const a = parseInt("11", 2);
# --hints--
`convertToInteger` повинна використовувати функцію `parseInt()`
`convertToInteger` має використовувати функцію `parseInt()`
```js
assert(/parseInt/g.test(code));
```
`convertToInteger("10011")` повинна повертати число
`convertToInteger("10011")` має повертати число
```js
assert(typeof convertToInteger('10011') === 'number');
```
`convertToInteger("10011")` повинна повертати 19
`convertToInteger("10011")` має повертати 19
```js
assert(convertToInteger('10011') === 19);
```
`convertToInteger("111001")` повинна повертати 57
`convertToInteger("111001")` має повертати 57
```js
assert(convertToInteger('111001') === 57);
```
`convertToInteger("JamesBond")` повинна повертати `NaN`
`convertToInteger("JamesBond")` має повертати `NaN`
```js
assert.isNaN(convertToInteger('JamesBond'));

View File

@@ -23,31 +23,31 @@ const a = parseInt("007");
# --hints--
`convertToInteger` повинна використовувати функцію `parseInt()`
`convertToInteger` має використовувати функцію `parseInt()`
```js
assert(/parseInt/g.test(code));
```
`convertToInteger("56")` повинна повертати число
`convertToInteger("56")` має повертати число
```js
assert(typeof convertToInteger('56') === 'number');
```
`convertToInteger("56")` повинна повертати 56
`convertToInteger("56")` має повертати 56
```js
assert(convertToInteger('56') === 56);
```
`convertToInteger("77")` повинна повертати 77
`convertToInteger("77")` має повертати 77
```js
assert(convertToInteger('77') === 77);
```
`convertToInteger("JamesBond")` повинна повертати `NaN`
`convertToInteger("JamesBond")` має повертати `NaN`
```js
assert.isNaN(convertToInteger('JamesBond'));

View File

@@ -1,6 +1,6 @@
---
id: 56533eb9ac21ba0edf2244ca
title: Використання об'єктів для пошуків
title: Використання обєктів для пошуків
challengeType: 1
videoUrl: 'https://scrimba.com/c/cdBk8sM'
forumTopicId: 18373
@@ -9,7 +9,7 @@ dashedName: using-objects-for-lookups
# --description--
Об'єкти можна вважати сховищем ключів/значень, як словники. Якщо ви маєте табличні дані, для пошуку значень краще використати об'єкт, а не інструкцію `switch` чи ланцюжок `if/else`. В такому випадку найкраще, якщо ви знаєте, що ваші вхідні дані обмежені до певного діапазону.
Обєкти можна вважати сховищем ключів/значень, як словники. Якщо ви маєте табличні дані, для пошуку значень краще використати обєкт, а не інструкцію `switch` чи ланцюжок `if/else`. В такому випадку найкраще, якщо ви знаєте, що ваші вхідні дані обмежені до певного діапазону.
Ось приклад об’єкта-публікації:
@@ -34,7 +34,7 @@ const valueLookup = article[value];
# --instructions--
Перетворіть інструкцію switch на об’єкт під назвою `lookup`. Використайте його, щоб знайти `val` та призначати пов'язаний рядок до змінної `result`.
Перетворіть інструкцію switch на об’єкт під назвою `lookup`. Використайте його, щоб знайти `val` та призначати повязаний рядок до змінної `result`.
# --hints--

View File

@@ -27,7 +27,7 @@ const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselve
# --hints--
`wordBlanks` повинен бути рядком.
`wordBlanks` має бути рядком.
```js
assert(typeof wordBlanks === 'string');
@@ -56,7 +56,7 @@ assert(
);
```
`wordBlanks` повинен містити всі слова, присвоєні до змінних `myNoun`, `myVerb`, `myAdjective` та `myAdverb`, розділені розділовим знаком (та додаткові слова на ваш вибір).
`wordBlanks` має містити всі слова, присвоєні до змінних `myNoun`, `myVerb`, `myAdjective` та `myAdverb`, розділені розділовим знаком (та додаткові слова на ваш вибір).
```js
assert(

View File

@@ -34,7 +34,7 @@ function functionName() {
# --hints--
`reusableFunction` повинна бути функцією.
`reusableFunction` має бути функцією.
```js
assert(typeof reusableFunction === 'function');