mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-02-02 06:04:06 -05:00
chore(i18n,learn): processed translations (#49203)
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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--
|
||||
|
||||
|
||||
@@ -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--
|
||||
|
||||
Дужкову нотацію також можна використати на об'єктах, щоб отримати доступ до властивостей, що зберігаються як значення змінної. Це може бути дуже корисно при ітерації властивостей об'єкта або при отриманні доступу до пошукової таблиці.
|
||||
Дужкову нотацію також можна використати на об’єктах, щоб отримати доступ до властивостей, що зберігаються як значення змінної. Це може бути дуже корисно при ітерації властивостей об’єкта або при отриманні доступу до пошукової таблиці.
|
||||
|
||||
Ось приклад використання змінної для отримання доступу до властивостей:
|
||||
|
||||
|
||||
@@ -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`:
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -27,7 +27,7 @@ ourStr += anAdjective;
|
||||
|
||||
# --hints--
|
||||
|
||||
`someAdjective` повинен бути встановлений як рядок з принаймні 3 символів.
|
||||
`someAdjective` має бути встановлений як рядок з принаймні 3 символів.
|
||||
|
||||
```js
|
||||
assert(typeof someAdjective !== 'undefined' && someAdjective.length > 2);
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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.'
|
||||
```
|
||||
|
||||
**Примітка:** зверніть увагу на пробіли. Конкатенація не додає пробіли між об'єднаними рядками, вам потрібно додавати їх самостійно.
|
||||
**Примітка:** зверніть увагу на пробіли. Конкатенація не додає пробіли між об’єднаними рядками, вам потрібно додавати їх самостійно.
|
||||
|
||||
Приклад:
|
||||
|
||||
|
||||
@@ -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--
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ dashedName: constructing-strings-with-variables
|
||||
|
||||
# --description--
|
||||
|
||||
Іноді потрібно побудувати рядок. За допомогою оператора об'єднання (`+`) можна вставити одну або більше змінних у рядок, який ви будуєте.
|
||||
Іноді потрібно побудувати рядок. За допомогою оператора об’єднання (`+`) можна вставити одну або більше змінних у рядок, який ви будуєте.
|
||||
|
||||
Приклад:
|
||||
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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`, ось так:
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -70,7 +70,7 @@ assert(/\\SecondLine/.test(myStr));
|
||||
assert(/SecondLine\nThirdLine/.test(myStr));
|
||||
```
|
||||
|
||||
`myStr` повинна містити лише символи, вказані в інструкціях
|
||||
`myStr` має містити лише символи, вказані в інструкціях
|
||||
|
||||
```js
|
||||
assert(myStr === 'FirstLine\n\t\\SecondLine\nThirdLine');
|
||||
|
||||
@@ -20,7 +20,7 @@ console.log(camper);
|
||||
|
||||
У невеликій програмі вам, можливо, і не загрожуватиме така проблема. Але з поступовим збільшенням кодової бази, ви можете випадково переписати якусь змінну. Оскільки така дія не вважається помилковою, то й знайти та виправити такі похибки буде складніше.
|
||||
|
||||
Ключове слово `let` було введено в ES6 (важливе оновлення до JavaScript), щоб потенційно розв'язати цю проблему з ключовим словом `var`. Про інші функції ES6 ви дізнаєтеся у наступних завданнях.
|
||||
Ключове слово `let` було введено в ES6 (важливе оновлення до JavaScript), щоб потенційно розв’язати цю проблему з ключовим словом `var`. Про інші функції ES6 ви дізнаєтеся у наступних завданнях.
|
||||
|
||||
Якщо ви заміните `var` на `let` у коді вище, це призведе до помилки:
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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--
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ JavaScript має функцію `Math.random()`, яка генерує випа
|
||||
|
||||
# --hints--
|
||||
|
||||
`randomFraction` повинна повертати випадкове число.
|
||||
`randomFraction` має повертати випадкове число.
|
||||
|
||||
```js
|
||||
assert(typeof randomFraction() === 'number');
|
||||
|
||||
@@ -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`.
|
||||
|
||||
Зіставивши усе разом, ось так виглядає наш код:
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ assert(calcMax === 15);
|
||||
assert(randomRange(0, 1) % 1 === 0);
|
||||
```
|
||||
|
||||
`randomRange` повинен використовувати обидва `myMax` та `myMin`, і повертати випадкове число у межах вашого діапазону.
|
||||
`randomRange` має використовувати `myMax` та `myMin`, і повертати випадкове число у межах вашого діапазону.
|
||||
|
||||
```js
|
||||
assert(
|
||||
|
||||
@@ -21,7 +21,7 @@ dashedName: global-scope-and-functions
|
||||
|
||||
# --hints--
|
||||
|
||||
`myGlobal` потрібно визначити
|
||||
`myGlobal` повинна бути визначеною
|
||||
|
||||
```js
|
||||
assert(typeof myGlobal != 'undefined');
|
||||
|
||||
@@ -36,7 +36,7 @@ function myFun() {
|
||||
assert(outerWear === 'T-Shirt');
|
||||
```
|
||||
|
||||
`myOutfit` повинна повертати рядок `sweater`.
|
||||
`myOutfit` має повертати рядок `sweater`.
|
||||
|
||||
```js
|
||||
assert(myOutfit() === 'sweater');
|
||||
|
||||
@@ -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!');
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: bd7993c9c69feddfaeb7bdef
|
||||
title: Множення двох десяткових чисел за допомогою JavaScript
|
||||
title: Множення двох десяткових чисел з JavaScript
|
||||
challengeType: 1
|
||||
videoUrl: 'https://scrimba.com/c/ce2GeHq'
|
||||
forumTopicId: 301173
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: cf1231c1c11feddfaeb5bdef
|
||||
title: Множення двох чисел за допомогою JavaScript
|
||||
title: Множення двох чисел з JavaScript
|
||||
challengeType: 1
|
||||
videoUrl: 'https://scrimba.com/c/cP3y3Aq'
|
||||
forumTopicId: 18243
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: cf1111c1c11feddfaeb4bdef
|
||||
title: Віднімання одного числа від іншого за допомогою JavaScript
|
||||
title: Віднімання одного числа від іншого з JavaScript
|
||||
challengeType: 1
|
||||
videoUrl: 'https://scrimba.com/c/cP3yQtk'
|
||||
forumTopicId: 18314
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -25,7 +25,7 @@ dashedName: understanding-boolean-values
|
||||
assert(typeof welcomeToBooleans() === 'boolean');
|
||||
```
|
||||
|
||||
`welcomeToBooleans()` повинна повертати `true`.
|
||||
`welcomeToBooleans()` має повертати `true`.
|
||||
|
||||
```js
|
||||
assert(welcomeToBooleans() === true);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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--
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ const lastLetter = firstName[firstName.length - 1];
|
||||
|
||||
# --hints--
|
||||
|
||||
`lastLetterOfLastName` повинна бути літера `e`.
|
||||
`lastLetterOfLastName` має бути літера `e`.
|
||||
|
||||
```js
|
||||
assert(lastLetterOfLastName === 'e');
|
||||
|
||||
@@ -30,7 +30,7 @@ const thirdToLastLetter = firstName[firstName.length - 3];
|
||||
|
||||
# --hints--
|
||||
|
||||
`secondToLastLetterOfLastName` повинна бути літера `c`.
|
||||
`secondToLastLetterOfLastName` має бути літера `c`.
|
||||
|
||||
```js
|
||||
assert(secondToLastLetterOfLastName === 'c');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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'));
|
||||
|
||||
@@ -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'));
|
||||
|
||||
@@ -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--
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -34,7 +34,7 @@ function functionName() {
|
||||
|
||||
# --hints--
|
||||
|
||||
`reusableFunction` повинна бути функцією.
|
||||
`reusableFunction` має бути функцією.
|
||||
|
||||
```js
|
||||
assert(typeof reusableFunction === 'function');
|
||||
|
||||
Reference in New Issue
Block a user