mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-03-03 14:01:27 -05:00
chore(i18n,learn): processed translations (#49004)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: 599a789b454f2bbd91a3ff4d
|
||||
title: Вчіться порівнювати різні значення
|
||||
title: Порівняння різних значень на практиці
|
||||
challengeType: 1
|
||||
videoUrl: 'https://scrimba.com/c/cm8PqCa'
|
||||
forumTopicId: 301174
|
||||
@@ -9,15 +9,15 @@ dashedName: practice-comparing-different-values
|
||||
|
||||
# --description--
|
||||
|
||||
В останніх двох задачах, ми вивчили оператор рівності (`==`) та оператор абсолютної рівності (`===`). Пригадаймо пройдену інформацію та спробуймо використати ці оператори знову.
|
||||
В останніх двох завданнях ми вивчили оператор рівності (`==`) та оператор строгої рівності (`===`). Пригадаємо пройдену інформацію та попрактикуємо ці оператори знову.
|
||||
|
||||
Якщо ми порівнюємо значення різних типів, то оператор рівності спершу конвертує типи, а потім обраховує значення. Однак, оператор абсолютної рівності порівнюватиме, як тип даних, так і значення у вихідному вигляді, не конвертуючи типи.
|
||||
Якщо ми порівнюємо значення різних типів, то оператор рівності спочатку конвертує їх, а потім вирахує значення. А ось оператор строгої рівності порівнюватиме тип даних та значення у вихідному вигляді, не конвертуючи їх.
|
||||
|
||||
**Наприклад:**
|
||||
**Приклади**
|
||||
|
||||
`3 == '3'` повертає результат `true` тому, що JavaScript конвертує рядок у число. `3 === '3'` returns `false` because the types are different and type conversion is not performed.
|
||||
`3 == '3'` повертає `true`, оскільки JavaScript конвертує рядок у число. `3 === '3'` повертає `false`, оскільки це різні типи і конвертація не виконується.
|
||||
|
||||
**Примітка:** В JavaScript, ви можете визначити тип змінної або значення за допомогою оператора `typeof`, наступним чином:
|
||||
**Примітка:** у JavaScript можна визначити тип змінної або значення за допомогою оператора `typeof`, ось так:
|
||||
|
||||
```js
|
||||
typeof 3
|
||||
@@ -28,7 +28,7 @@ typeof '3'
|
||||
|
||||
# --instructions--
|
||||
|
||||
Функція `compareEquality` в редакторі порівнює два значення за допомогою оператора рівності. Змініть функцію так, щоб вона повернула рядок `Equal` лише тоді, коли значення абсолютно рівні.
|
||||
Функція `compareEquality` в редакторі порівнює два значення за допомогою оператора рівності. Змініть функцію так, щоб вона повернула рядок `Equal` лише тоді, коли значення строго рівні.
|
||||
|
||||
# --hints--
|
||||
|
||||
|
||||
@@ -9,17 +9,17 @@ dashedName: profile-lookup
|
||||
|
||||
# --description--
|
||||
|
||||
У нас є безліч об'єктів, що представляють різних людей у наших списках контактів.
|
||||
У нас є масив об'єктів, які представляють різних людей зі списку контактів.
|
||||
|
||||
Функція `lookUpProfile` яка приймає `name` та властивість (`prop`) як аргументи були попередньо записані для вас.
|
||||
Функція `lookUpProfile`, яка приймає `name` та властивість (`prop`) як аргументи, вже записана для вас.
|
||||
|
||||
Функція має перевірити, чи `name` є фактичним контактом `firstName` і даний параметр (`prop`) є властивістю цього контакту.
|
||||
Функція повинна перевірити, чи `name` дійсно є ім’ям (`firstName`) контакту і надана властивість (`prop`) є властивістю цього контакту.
|
||||
|
||||
Якщо обидва є правдою, то поверніть "значення" цієї власності.
|
||||
Якщо обидва є істинними, то поверніть значення цієї власності.
|
||||
|
||||
Якщо `name` не відповідає жодному контакту, поверніть рядок `No such contact`.
|
||||
|
||||
Якщо `prop` не відповідає жодним дійсним властивостям контакту, знайденим за відповідністю `name` потім поверніться на рядок `No such property`.
|
||||
Якщо `prop` не збігається з жодною дійсною властивістю контакту, що відповідає `name`, поверніть рядок `No such property`.
|
||||
|
||||
# --hints--
|
||||
|
||||
|
||||
@@ -9,14 +9,14 @@ dashedName: quoting-strings-with-single-quotes
|
||||
|
||||
# --description--
|
||||
|
||||
Значення <dfn>String</dfn> у JavaScript може бути записане з одинарними чи подвійними лапками, якщо ті ж самі лапки використовуються на початку та в кінці. На відміну від інших мов програмування, одинарні і подвійні лапки працюють однаково в JavaScript.
|
||||
Значення <dfn>рядків</dfn> у JavaScript можна записати в одинарних чи подвійних лапках: головне, щоб спочатку та вкінці використовувались ті самі лапки. На відміну від інших мов програмування, у JavaScript одинарні і подвійні лапки працюють однаково.
|
||||
|
||||
```js
|
||||
const doubleQuoteStr = "This is a string";
|
||||
const singleQuoteStr = 'This is also a string';
|
||||
```
|
||||
|
||||
Причиною використовувати один тип лапок поруч з іншим є використання обидвох типів лапок у рядку. Наприклад, коли ви хочете відтворити розмову у рядку і оформити цю розмову лапками. Або ж, коли ви зберігаєте тег `<a>` з різними атрибутами в лапках і все в межах одного рядка.
|
||||
Іноді можна використати обидва типи лапок в одному рядку. Наприклад, коли потрібно відтворити розмову в рядку і взяти її в лапки. Або ж, коли ви зберігаєте тег `<a>` з різними атрибутами в лапках і все в межах одного рядка.
|
||||
|
||||
```js
|
||||
const conversation = 'Finn exclaims to Jake, "Algebraic!"';
|
||||
@@ -29,21 +29,21 @@ const goodStr = 'Jake asks Finn, "Hey, let\'s go on an adventure?"';
|
||||
const badStr = 'Finn responds, "Let's go!"';
|
||||
```
|
||||
|
||||
В цього випадку `badStr` покаже помилку.
|
||||
В такому випадку `badStr` покаже помилку.
|
||||
|
||||
У <dfn>goodStr</dfn> вище, можна спокійно використовувати лапки, додавши зворотну скісну риску `\` як екранований символ.
|
||||
У <dfn>goodStr</dfn> вище можна спокійно використати лапки, додавши зворотну скісну риску `\` як екранований символ.
|
||||
|
||||
**Примітка:** Зворотну скісну риску `\` не слід плутати з скісною рискою `/`. Вони мають різні функції.
|
||||
**Примітка:** не плутайте зворотну скісну риску `\` зі скісною рискою `/`. Вони мають різні функції.
|
||||
|
||||
# --instructions--
|
||||
|
||||
Змініть поданий рядок на рядок з одинарними лапками на початку і в кінці та не використовуйте екрановані символи.
|
||||
Змініть поданий рядок на рядок з одинарними лапками спочатку і вкінці, не використовуючи екрановані символи.
|
||||
|
||||
Зараз тег `<a>` у рядку може використовувати всюди подвійні лапки. Вам потрібно буде змінити зовнішні лапки на одинарні лапки, щоб видалити екрановані символи.
|
||||
Наразі тег `<a>` у рядку використовує подвійні лапки всюди. Вам потрібно буде змінити зовнішні лапки на одинарні лапки, щоб видалити екрановані символи.
|
||||
|
||||
# --hints--
|
||||
|
||||
Вам слід видалити усі зворотні скісні риски (`\`).
|
||||
Ви повинні видалити всі зворотні скісні риски (`\`).
|
||||
|
||||
```js
|
||||
assert(
|
||||
@@ -54,7 +54,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
У вас повинні бути дві одинарні лапки `'` і чотири подвійні лапки `"`.
|
||||
Ви повинні мати дві одинарні лапки `'` та чотири подвійні лапки `"`.
|
||||
|
||||
```js
|
||||
assert(code.match(/"/g).length === 4 && code.match(/'/g).length === 2);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: 56533eb9ac21ba0edf2244cf
|
||||
title: Збірка записів
|
||||
title: Колекція музичних альбомів
|
||||
challengeType: 1
|
||||
forumTopicId: 18261
|
||||
dashedName: record-collection
|
||||
@@ -8,21 +8,21 @@ dashedName: record-collection
|
||||
|
||||
# --description--
|
||||
|
||||
Вам наданий літерал об'єкту, який є частиною вашої збірки музичних альбомів. Кожен альбом має свій унікальний ідентифікаційний номер та декілька інших властивостей. Не всі альбоми мають повну інформацію.
|
||||
Вам надано літерал об'єкта, який представляє вашу колекцію музичних альбомів. Кожен альбом має унікальний id як свій ключ та декілька інших властивостей. Не всі альбоми мають повну інформацію.
|
||||
|
||||
Ви починаєте з функції `updateRecords`, яка приймає літерал об'єкту `records`, який містить колекцію музичного альбому, `id`, `prop` (такі як `artist` чи `tracks`), і `value`. Завершіть функцію, використовуючи правила нижче, щоб змінити об'єкт, переданий до функції.
|
||||
Ви починаєте з функції `updateRecords`, що приймає літерал об'єкта `records`, який містить колекцію музичних альбомів, `id`, `prop` (типу `artist` чи `tracks`) та `value`. Завершіть функцію, використовуючи правила нижче, щоб змінити об'єкт, переданий до функції.
|
||||
|
||||
- Ваша функція повинна завжди повертати весь об'єкт збірки записів.
|
||||
- Якщо `prop` це не `tracks` і `value` не є пустим рядком, то оновіть або встановіть `prop` альбому до `value`.
|
||||
- Якщо `prop` є `tracks` але альбом немає властивості `tracks`, створіть пустий масив та додайте `value` до нього.
|
||||
- Якщо `prop` є `tracks` та `value` не є пустим рядком, додайте `value` до кінця наявного масиву `tracks` у альбомі.
|
||||
- Ваша функція завжди повинна повертати весь об'єкт-колекцію.
|
||||
- Якщо `prop` не є `tracks`, а `value` не є пустим рядком, то оновіть або встановіть `prop` альбому на `value`.
|
||||
- Якщо `prop` є `tracks`, але альбом не має властивості `tracks`, то створіть пустий масив та додайте `value` до нього.
|
||||
- Якщо `prop` є `tracks` та `value` не є пустим рядком, то додайте `value` в кінець наявного масиву `tracks` в альбомі.
|
||||
- Якщо `value` є пустим рядком, видаліть дану властивість `prop` з альбому.
|
||||
|
||||
**Note:** Копія об'єкту `recordCollection` використовується для тестування.
|
||||
**Примітка:** копія об'єкту `recordCollection` використовується для тестів.
|
||||
|
||||
# --hints--
|
||||
|
||||
Після `updateRecords(recordCollection, 5439, "artist", "ABBA")`, `artist` повинен бути рядок `ABBA`
|
||||
Після `updateRecords(recordCollection, 5439, "artist", "ABBA")`, `artist` повинен стати рядком `ABBA`
|
||||
|
||||
```js
|
||||
assert(
|
||||
@@ -31,7 +31,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
After `updateRecords(recordCollection, 5439, "tracks", "Take a Chance on Me")`, `tracks` should have the string `Take a Chance on Me` as the last and only element.
|
||||
Після `updateRecords(recordCollection, 5439, "tracks", "Take a Chance on Me")`, `tracks` повинен мати рядок `Take a Chance on Me` як останній та єдиний елемент.
|
||||
|
||||
```js
|
||||
assert(
|
||||
@@ -41,14 +41,14 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
Після `updateRecords(recordCollection, 2548, "artist", "")`, не потрібно встановлювати `artist`
|
||||
Після `updateRecords(recordCollection, 2548, "artist", "")` не потрібно налаштовувати `artist`
|
||||
|
||||
```js
|
||||
updateRecords(_recordCollection, 2548, 'artist', '');
|
||||
assert(!_recordCollection[2548].hasOwnProperty('artist'));
|
||||
```
|
||||
|
||||
Після `updateRecords(recordCollection, 1245, "tracks", "Addicted to Love")`, `tracks` повинні мати рядок `Addicted to Love` останнім елементом.
|
||||
Після `updateRecords(recordCollection, 1245, "tracks", "Addicted to Love")`, `tracks` повинен мати рядок `Addicted to Love` як останній елемент.
|
||||
|
||||
```js
|
||||
assert(
|
||||
@@ -58,7 +58,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
Після `updateRecords(recordCollection, 2468, "tracks", "Free")`, `tracks` повинні мати рядок `1999` першим елементом.
|
||||
Після `updateRecords(recordCollection, 2468, "tracks", "Free")`, `tracks` повинен мати рядок `1999` як перший елемент.
|
||||
|
||||
```js
|
||||
assert(
|
||||
@@ -68,14 +68,14 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
Після `updateRecords(recordCollection, 2548, "tracks", "")`, не потрібно встановлювати `tracks`
|
||||
Після `updateRecords(recordCollection, 2548, "tracks", "")` не потрібно налаштовувати `tracks`
|
||||
|
||||
```js
|
||||
updateRecords(_recordCollection, 2548, 'tracks', '');
|
||||
assert(!_recordCollection[2548].hasOwnProperty('tracks'));
|
||||
```
|
||||
|
||||
Після `updateRecords(recordCollection, 1245, "albumTitle", "Riptide")`, `albumTitle` повинно стати рядком `Riptide`
|
||||
Після `updateRecords(recordCollection, 1245, "albumTitle", "Riptide")`, `albumTitle` повинен стати рядком `Riptide`
|
||||
|
||||
```js
|
||||
assert(
|
||||
|
||||
@@ -10,7 +10,7 @@ dashedName: replace-loops-using-recursion
|
||||
|
||||
# --description--
|
||||
|
||||
Рекурсія - це концепція, згідно з якою функція може бути вираженою в термінах сама по собі. Щоб краще зрозуміти це, почніть з роздумів про наступне завдання: перемножте перші `n` елементів масиву, щоб створити добуток цих елементів. Ви могли б це зробити, використовуючи цикл `for`:
|
||||
Рекурсія – це концепція того, що функція може бути виражена сама собою. Щоб краще зрозуміти, подумайте над наступним завданням: перемножте перші `n` елементи масиву, щоб отримати їх добуток. Ви могли б це зробити, використовуючи цикл `for`:
|
||||
|
||||
```js
|
||||
function multiply(arr, n) {
|
||||
@@ -22,7 +22,7 @@ dashedName: replace-loops-using-recursion
|
||||
}
|
||||
```
|
||||
|
||||
Проте, зверніть увагу, що `multiply(arr, n) == multiply(arr, n - 1) * arr[n - 1]`. Це означає, що ви можете перезаписати `multiply` саме по собі і ніколи не використовувати цикл.
|
||||
Проте, зверніть увагу, що `multiply(arr, n) == multiply(arr, n - 1) * arr[n - 1]`. Це означає, що ви можете переписати `multiply` у самій функції і ніколи не використовувати цикл.
|
||||
|
||||
```js
|
||||
function multiply(arr, n) {
|
||||
@@ -34,13 +34,13 @@ dashedName: replace-loops-using-recursion
|
||||
}
|
||||
```
|
||||
|
||||
Рекурсивна версія `multiply` переривається таким чином. У <dfn>base case</dfn>, де `n <= 0`, повертає до 1. Для більших значень `n`, він викликає сам себе, але з `n - 1`. Цей виклик функції обчислюється так само, викликаючи `multiply` знову до `n <= 0`. На даному етапі, всі функції можуть повертати результат і початковий `multiply` повертає відповідь.
|
||||
Рекурсивна версія `multiply` розбивається таким чином. У <dfn>базовому випадку</dfn>, де `n <= 0`, повертається 1. Функція викликає сама себе, якщо значення `n` більше, але `n - 1`. Цей виклик функції обчислюється так само, викликаючи `multiply` знову, доки `n <= 0`. На даному етапі всі функції можуть повертатися, а вихідна функція `multiply` повертає відповідь.
|
||||
|
||||
**Примітка:** Рекурсивні функції повинні мати базовий регістр, коли вони повертають результат, не викликаючи функцію знову (в цьому прикладі, коли `n <= 0`), інакше вони ніколи не зможуть закінчити виконання.
|
||||
**Примітка:** рекурсивні функції повинні мати базовий випадок, коли вони повертаються без повторного виклику функції (у цьому прикладі, коли `n <= 0`), інакше вони ніколи не завершаться.
|
||||
|
||||
# --instructions--
|
||||
|
||||
Напишіть рекурсивну функцію, `sum(arr, n)`, що повертає суму перших `n` елементів масиву `arr`.
|
||||
Напишіть рекурсивну функцію `sum(arr, n)`, яка повертає суму перших `n` елементів масиву `arr`.
|
||||
|
||||
# --hints--
|
||||
|
||||
@@ -62,7 +62,7 @@ assert.equal(sum([2, 3, 4], 1), 2);
|
||||
assert.equal(sum([2, 3, 4, 5], 3), 9);
|
||||
```
|
||||
|
||||
Ваш код не має опиратися на жодні цикли (`for`, `while` або функції більш високої послідовності, такі як `forEach`, `map`, `filter` або `reduce`.).
|
||||
Ваш код не повинен опиратися на жодні цикли (`for`, `while` або функції вищого порядку, як-от `forEach`, `map`, `filter` або `reduce`.).
|
||||
|
||||
```js
|
||||
assert(
|
||||
@@ -70,7 +70,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
Вам слід використати рекурсію, щоб вирішити цю проблему.
|
||||
Ви повинні використати рекурсію, щоб розв’язати це завдання.
|
||||
|
||||
```js
|
||||
assert(
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: 56533eb9ac21ba0edf2244e0
|
||||
title: Заміна "if else" ланцюжка ключем
|
||||
title: Заміна ланцюжків «if else» на switch
|
||||
challengeType: 1
|
||||
videoUrl: 'https://scrimba.com/c/c3JE8fy'
|
||||
forumTopicId: 18266
|
||||
@@ -9,7 +9,7 @@ dashedName: replacing-if-else-chains-with-switch
|
||||
|
||||
# --description--
|
||||
|
||||
Якщо ви маєте багато опцій, з яких можете вибирати, то твердження `switch` може бути легшим для написання, ніж багатоланцюгові `if`/`else if` твердження. Наступне:
|
||||
Якщо ви маєте багато варіантів для вибору, простіше використати інструкцію `switch` замість багатьох ланцюжків `if`/`else if`. Наступне:
|
||||
|
||||
```js
|
||||
if (val === 1) {
|
||||
@@ -21,7 +21,7 @@ if (val === 1) {
|
||||
}
|
||||
```
|
||||
|
||||
можна замінити цим:
|
||||
можна замінити на:
|
||||
|
||||
```js
|
||||
switch (val) {
|
||||
@@ -38,23 +38,23 @@ switch (val) {
|
||||
|
||||
# --instructions--
|
||||
|
||||
Змініть ланцюжкові `if`/`else if` твердження на `switch` твердження.
|
||||
Змініть ланцюжки інструкцій `if`/`else if` на інструкцію `switch`.
|
||||
|
||||
# --hints--
|
||||
|
||||
Вам не слід використовувати будь-які `else` твердження будь-де в редакторі
|
||||
Ви не повинні використовувати інструкцію `else` в редакторі
|
||||
|
||||
```js
|
||||
assert(!/else/g.test(code));
|
||||
```
|
||||
|
||||
Вам не слід використовувати будь-які `if` твердження будь-де в редакторі
|
||||
Ви не повинні використовувати інструкцію `if` в редакторі
|
||||
|
||||
```js
|
||||
assert(!/if/g.test(code));
|
||||
```
|
||||
|
||||
Ви повинні мати хоча б чотири `break` твердження
|
||||
Ви повинні мати принаймні чотири інструкції `break`
|
||||
|
||||
```js
|
||||
assert(code.match(/break/g).length >= 4);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: 56533eb9ac21ba0edf2244c2
|
||||
title: Повернути значення за допомогою функції повернення
|
||||
title: Повернення значення функції за допомогою return
|
||||
challengeType: 1
|
||||
videoUrl: 'https://scrimba.com/c/cy87wue'
|
||||
forumTopicId: 18271
|
||||
@@ -9,9 +9,9 @@ dashedName: return-a-value-from-a-function-with-return
|
||||
|
||||
# --description--
|
||||
|
||||
Ми можемо передати значення у функцію за допомогою <dfn>аргументів</dfn>. Ви можете використати команду `return`, щоб надіслати значення назад за межі фунції.
|
||||
Ми можемо передати значення до функції за допомогою <dfn>аргументів</dfn>. Ви можете використати інструкцію `return`, щоб надіслати значення з фунції.
|
||||
|
||||
**Наприклад**
|
||||
**Приклад**
|
||||
|
||||
```js
|
||||
function plusThree(num) {
|
||||
@@ -31,25 +31,25 @@ const answer = plusThree(5);
|
||||
|
||||
# --hints--
|
||||
|
||||
`timesFive` має бути функцією
|
||||
`timesFive` повинна бути функцією
|
||||
|
||||
```js
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user