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

This commit is contained in:
camperbot
2023-01-12 23:11:48 +05:30
committed by GitHub
parent 2fb992919a
commit 14b8e8d537
116 changed files with 359 additions and 350 deletions

View File

@@ -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--

View File

@@ -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--

View File

@@ -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);

View File

@@ -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(

View File

@@ -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(

View File

@@ -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);

View File

@@ -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);