fix(guide): simplify directory structure

This commit is contained in:
Mrugesh Mohapatra
2018-10-16 21:26:13 +05:30
parent f989c28c52
commit da0df12ab7
35752 changed files with 0 additions and 317652 deletions

View File

@@ -0,0 +1,17 @@
---
title: Access Array Data with Indexes
localeTitle: Доступ к массиву данных с индексами
---
## Доступ к массиву данных с индексами
Первый элемент массива находится в нулевом положении. Итак, если вы хотите получить доступ к первому элементу массива, вы можете сделать это так:
```javascript
var arr = ["Programming", 123, "Coding", 789];
var firstElem = arr[0] // This is "Programming"
var thirdElem = arr[2] // This is "Coding"
var fourthElem = arr[3] // This is 789
```
Обратите внимание, что длина массива равна 4, а позиция последнего элемента массива равна 3.

View File

@@ -0,0 +1,29 @@
---
title: Access Multi-Dimensional Arrays With Indexes
localeTitle: Доступ к многомерным массивам с индексами
---
## Доступ к многомерным массивам с индексами
Рассмотрим следующий многомерный массив:
```javascript
var arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]];
```
Это то, что выглядит в табличной форме.
| Должность | 0 | 1 | 2 | 3 | | --- | --- | --- | --- | --- | | **0** | 1 | 4 | 7 | 10 | | **1** | 2 | 5 | 8 | 11 | | **2** | 3 | 6 | 9 | 12 |
Теперь все, что вам нужно сделать, это выбрать координаты желаемых данных! Например, если мы хотим, чтобы `myNum` равнялся 8, тогда ...
```javascript
var myNum = arr[2][1]; // Equal to 8
```
Или, если вы хотите, чтобы он равнялся 1. Вы делаете ...
```javascript
var myNum = arr[0][0]; // Equal to 1
```
Сначала вы начинаете, выбирая, в каком столбце находится номер, затем вы выбираете строку. Это похоже на координатную плоскость xy!

View File

@@ -0,0 +1,69 @@
---
title: Accessing Nested Arrays
localeTitle: Доступ к вложенным массивам
---
## Доступ к вложенным массивам
### Доступ к элементам в массиве с использованием нотной записи в виде скобок `[]`
```js
var fruitBasket = ['apple', 'banana' 'orange', 'melon'];
var favoriteFruit = fruitBasket[2];
console.log(favoriteFruit) // 'orange'
```
В этом примере наш любимый фрукт - «оранжевый», который находится в индексе `2` в массиве `fruitBasket` . Используя Braket обозначения, мы относим индекс `2` из `fruitBasket` массива `favoriteFruit` . Это делает `favoriteFruit` равным «оранжевому».
### Доступ к объектам в массивах с использованием скобки `[]` и точки `.` обозначение
```js
var garage = [
{
type: 'car',
color: 'red',
make: 'Ford'
},
{
type: 'motorbike',
color: 'black',
make: 'Yamaha'
},
{
type: 'bus',
color: 'yellow',
make: 'Blue Bird'
}
];
var busColor = garage[2].color; // 'yellow'
```
## Решение:
```js
// Setup
var myPlants = [
{
type: "flowers",
list: [
"rose",
"tulip",
"dandelion"
]
},
{
type: "trees",
list: [
"fir",
"pine",
"birch"
]
}
];
// Only change code below this line
var secondTree = myPlants[1].list[1];
```

View File

@@ -0,0 +1,50 @@
---
title: Accessing Nested Objects
localeTitle: Доступ к вложенным объектам
---
## Доступ к вложенным объектам
Подсказка: **_«Использовать обозначения скобок для свойств с пробелом в их имени»._**
Если мы посмотрим на наш объект:
```javascript
var myStorage = {
"car": {
"inside": {
"glove box": "maps",
"passenger seat": "crumbs"
},
"outside": {
"trunk": "jack"
}
}
};
```
Имя нашего объекта - `myStorage` .
| - Внутри у нас есть вложенный объект, называемый `car` .
| --- Внутри, что у нас есть еще два вызова `inside` и `outside` каждого с их собственные свойства
Вы можете визуализировать структуру объекта, как это, если это помогает:
```
myStorage
|-- car
|--- inside
|----- glove box: maps
|----- passenger seat: crumbs
|--- outside
|----- trunk: jack
```
Нам предлагается назначить содержимое `glove box` , который мы видим, вложен в `inside` объект, который, в свою очередь, вложен в объект `car` .
Мы можем использовать точечную нотацию для доступа к `glove box` следующим образом:
```javascript
var gloveBoxContents = myStorage.car.inside'complete here'
```
Вы должны `complete here` заменить `complete here` правильный способ доступа к свойству. См. Подсказку выше, если вы застряли.

View File

@@ -0,0 +1,21 @@
---
title: Accessing Object Properties with Bracket Notation
localeTitle: Доступ к объектным свойствам с помощью скобок
---
## Доступ к объектным свойствам с помощью скобок
Вот одно из возможных решений:
```js
var testObj = {
"an entree": "hamburger",
"my side": "veggies",
"the drink": "water"
};
// Only change code below this line
var entreeValue = testObj["an entree"]; // Change this line
var drinkValue = testObj["the drink"]; // Change this line
```

View File

@@ -0,0 +1,21 @@
---
title: Accessing Object Properties with Dot Notation
localeTitle: Доступ к объектным свойствам с нотами Dot
---
## Доступ к объектным свойствам с нотами Dot
Вот одно из возможных решений:
```js
var testObj = {
"hat": "ballcap",
"shirt": "jersey",
"shoes": "cleats"
};
// Only change code below this line
var hatValue = testObj.hat; // Change this line
var shirtValue = testObj.shirt; // Change this line
```

View File

@@ -0,0 +1,22 @@
---
title: Accessing Object Properties with Variables
localeTitle: Доступ к объектам с переменными
---
## Доступ к объектам с переменными
Вот работающее решение, если вы застряли:
```js
// Setup
var testObj = {
12: "Namath",
16: "Montana",
19: "Unitas"
};
// Only change code below this line;
var playerNumber = 16; // Change this Line
var player = testObj[playerNumber]; // Change this Line
```

View File

@@ -0,0 +1,33 @@
---
title: Add New Properties to a JavaScript Object
localeTitle: Добавить новые объекты в объект JavaScript
---
## Добавить новые объекты в объект JavaScript
Вот пример:
```js
var ourDog = {
"name": "Camper",
"legs": 4,
"tails": 1,
"friends": ["everything!"]
};
ourDog.bark = "bow-wow";
```
Вот решение:
```js
var myDog = {
"name": "Happy Coder",
"legs": 4,
"tails": 1,
"friends": ["freeCodeCamp Campers"]
};
// Only change code below this line.
myDog.bark = "woof";
```

View File

@@ -0,0 +1,11 @@
---
title: Add Two Numbers with JavaScript
localeTitle: Добавить два номера с JavaScript
---
# Добавить два номера с JavaScript
JavaScript использует символ `+` для добавления.
```
var sum = 10 + 10; //sum gets the value 20
```

View File

@@ -0,0 +1,28 @@
---
title: Adding a Default Option in Switch Statements
localeTitle: Добавление опции по умолчанию в операторы switch
---
# Добавление опции по умолчанию в операторы switch
* Добавление опции по умолчанию гарантирует, что в случае, если ваша переменная не соответствует ни одному из параметров, будет использоваться значение по умолчанию.
## Решение:
```javascript
function switchOfStuff(val) {
var answer = "";
switch(val){
case 'a': answer = 'apple';
break;
case 'b': answer = 'bird';
break;
case 'c': answer = 'cat';
break;
default: answer = 'stuff';
}
return answer;
}
```

View File

@@ -0,0 +1,13 @@
---
title: Appending Variables to Strings
localeTitle: Добавление переменных в строки
---
## Добавление переменных в строки
Убедитесь, что правильность и правильность написания. Добавляемые строки (хранимые внутри переменных) могут быть выполнены следующим образом:
```
var adj = "happy!";
var sent = "Today, I woke up being ";
sent += adj; // The result is "Today, I woke up being happy!"
```

View File

@@ -0,0 +1,14 @@
---
title: Assignment with a Returned Value
localeTitle: Назначение с возвращенной стоимостью
---
## Назначение с возвращенной стоимостью
Функции выступают в качестве заполнителей для выводимых данных. В принципе, вы можете назначить вывод функции переменной, как и любые нормальные данные.
Вот базовое решение для кода:
```javascript
processed = processArg(7); // Equal to 2
```

View File

@@ -0,0 +1,19 @@
---
title: Build JavaScript Objects
localeTitle: Создание объектов JavaScript
---
# Создание объектов JavaScript
Объекты похожи на массивы, за исключением того, что вместо использования индексов для доступа и изменения их данных вы получаете доступ к данным в объектах через так называемые свойства.
Вот пример объекта:
```
var cat = {
"name": "Whiskers",
"legs": 4,
"tails": 1,
"enemies": ["Water", "Dogs"]
};
```
Объекты полезны для хранения данных структурированным способом и могут представлять объекты реального мира, такие как кошки.

View File

@@ -0,0 +1,63 @@
---
title: Chaining If Else Statements
localeTitle: Связывание с другими сообщениями
---
## Связывание с другими сообщениями
* `If` : первое условие в каждом операторе if / else, в случае, если условие стинно_ , выполните код и проигнорируйте остальные.
* `Else if` : никогда нельзя использовать в качестве первого условного. Он всегда является условным после того, как `if` , если условие истинно, выполните код. В противном случае переходит в следующее условие.
* `Else` : case все предыдущие условные _выражения_ являются ожными_ , **иначе** выполняется.
### Объяснение проблемы:
_Записывать прикованные `if` / `else if` выражения для выполнения следующих условий_ :
_`num < 5` - возвращение "Tiny" `num < 10` - возврат "Small" `num < 15` - возврат "Средний" `num < 20` - возврат "Большой" `num >= 20` - возврат "Огромный"_
#### Подсказка 1
Помните, что вы можете комбинировать (цепочки) несколько `if...else` операторов один за другим, пока ваш последний не использует `else if (condition) {do this}` .
> _попытаться решить проблему сейчас_
>
> #### Подсказка 2
>
> Иногда, когда вы пишете больше кода, чем вы привыкли, и он не работает, мелочи - вот что нас предает. Проверка недостающих точек с запятой, скобок и т. Д. Может оказаться очень полезной. _попытаться решить проблему сейчас_
## Осторожно, спойлеры!
**Решение впереди!**
## Решение:
```javascript
function testSize(num) {
// Only change code below this line
if (num < 5){
return "Tiny";
}
else if (num < 10) {
return "Small";
}
else if (num < 15){
return "Medium";
}
else if (num < 20){
return "Large";
}
else {
return "Huge";
}
// Only change code above this line
}
```
· Запустить код в [repl.it](https://repl.it/@AdrianSkar/Basic-JS-Chaining-ifelse-statements)
### Обозначение кода
Функция сначала проверяет условие `if` `(num < 5)` . Если он оценивает значение `true` , он возвращает выражение между фигурными фигурными скобками («Tiny»). Если это не так, оно проверяет следующее условие до последнего оператора `else` .
### Ресурсы
* ["if ... else" - _ссылка MDN JavaScript_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if…else)

View File

@@ -0,0 +1,22 @@
---
title: Comment Your JavaScript Code
localeTitle: Комментарий
---
## Комментарий
Комментирование позволяет вводить материал, который вы не хотите, чтобы компьютер работал как код. Например, заметки для других программистов, направлений и т. Д. Вот как создать однострочный комментарий.
```
// Hey, I'm a comment!
```
Теперь, если вы хотите прокомментировать весь абзац, который можно легко выполнить с помощью ...
```
/*
Hey, I'm a paragraph comment.
This allows for programmers to
write tons and tons of random
words, without the fear of me
being compiled!
*/
```

View File

@@ -0,0 +1,46 @@
---
title: Comparison with the Equality Operator
localeTitle: Сравнение с оператором равенства
---
## Сравнение с оператором равенства
### Объяснение проблемы:
обавьте оператор равенства в указанную строку, чтобы функция вернула «Равно», когда `val` эквивалентно 12._
#### Подсказка 1
Помните, что _равенство отличается от присваивания ( `=` ), которое присваивает значение справа от оператора переменной в левой части._ [1](#cite1)
> _попытаться решить проблему сейчас_
## Осторожно, спойлеры!
**Решение впереди!**
## Базовое решение:
```javascript
function testEqual(val) {
if (val == 12) { // Change this line
return "Equal";
}
return "Not equal";
}
// Change this value to test
testEqual(10);
```
· [Запустить код в repl.it](https://repl.it/@AdrianSkar/Basic-JS-Equality-operator)
### Обозначение кода
Сначала функция оценивает, является `if` условие `(val == 12)` равным `true` . Если это так, оно возвращает выражение между фигурными фигурными скобками («Равно»). Если это не так, оно возвращает следующий оператор `return` вне их («Не равно»).
### источники
1 . [«Базовый JavaScript: сравнение с оператором равенства», урок fCC в _Javascript Algorithms and Data Structures Certification_](https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-equality-operator)
### Ресурсы
* [«Оператор равенства» - _ссылка MDN JavaScript_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Equality_())

View File

@@ -0,0 +1,22 @@
---
title: Comparison with the Greater Than Operator
localeTitle: Сравнение с более крупным оператором
---
## Сравнение с более крупным оператором
`>` (Greater Than) - это логический оператор, который возвращает истинный случай, значение слева выше, чем значение справа.
## Основное решение
```javascript
function testGreaterThan(val) {
if (val > 100)
return "Over 100";
if (val > 10)
return "Over 10";
return "10 or Under";
}
```

View File

@@ -0,0 +1,22 @@
---
title: Comparison with the Greater Than Or Equal To Operator
localeTitle: Сравнение с более высоким или равным оператору
---
## Сравнение с более высоким или равным оператору
* `>=` (Больше или равно) является логическим оператором, который возвращает истинный случай, значение слева является тем **же или более высоким,** чем значение справа.
## Основное решение
```javascript
function testGreaterOrEqual(val) {
if (val >= 20)
return "20 or Over";
if (val >= 10)
return "10 or Over";
return "Less than 10";
}
```

View File

@@ -0,0 +1,20 @@
---
title: Comparison with the Inequality Operator
localeTitle: Сравнение с оператором неравенства
---
## Сравнение с оператором неравенства
* `!=` (Неравенство) является логическим оператором, который возвращает истинный случай, значение слева отличается от значения справа.
* Оператор неравенства считает, что `7` и `"7"` должны быть одинаковыми, поскольку он не сравнивает тип переменной.
## Основное решение
```javascript
function testNotEqual(val) {
if (val != 99)
return "Not Equal";
return "Equal";
}
```

View File

@@ -0,0 +1,22 @@
---
title: Comparison with the Less Than Operator
localeTitle: Сравнение с Менеджером оператора
---
## Сравнение с Менеджером оператора
**`<`** (Меньше) является логическим оператором, который возвращает истинный регистр, значение слева ниже, чем значение справа.
## Основное решение
```javascript
function testLessThan(val) {
if (val < 25)
return "Under 25";
if (val < 55)
return "Under 55";
return "55 or Over";
}
```

View File

@@ -0,0 +1,22 @@
---
title: Comparison with the Less Than Or Equal To Operator
localeTitle: Сравнение с меньшим или равным оператору
---
## Сравнение с меньшим или равным оператору
**`<=`** (Меньше или равно) является логическим оператором, который возвращает истинный случай, значение слева является тем **же или меньше,** чем значение справа.
## Основное решение
```javascript
function testLessOrEqual(val) {
if (val <= 12)
return "Smaller Than or Equal to 12";
if (val <= 24)
return "Smaller Than or Equal to 24";
return "More Than 24";
}
```

View File

@@ -0,0 +1,56 @@
---
title: Comparison with the strict equality operator
localeTitle: Сравнение со строгим оператором равенства
---
## Сравнение со строгим оператором равенства
### Объяснение проблемы:
· спользуйте оператор строгого равенства в выражении `if` чтобы функция вернула «Равно», когда `val` строго равно `7` ._
#### Подсказка 1
Помните из последнего упражнения, что _равенство отличается от присваивания ( `=` ), которое присваивает значение справа от оператора переменной в левой части._ [1](#cite1)
> _попытаться решить проблему сейчас_
>
> #### Подсказка 2
>
> _В отличие от оператора равенства, который пытается преобразовать оба значения в общий тип, строгий оператор равенства не выполняет преобразование типа._ [2](#cite2) _попытаться решить проблему сейчас_
## Осторожно, спойлеры!
**Решение впереди!**
## Базовое решение:
```javascript
// Setup
function testStrict(val) {
if (val === 7) { // Change this line
return "Equal";
}
return "Not equal";
}
// Change this value to test
testStrict(10);
```
### Обозначение кода
Функция сначала оценивает, соответствует `if` условие `(val === 7)` `true` . Если это так, оно возвращает выражение между фигурными фигурными скобками («Равно»). Если это не так, оно возвращает следующий оператор `return` вне их («Не равно»).
### источники
1 . [«Базовый JavaScript: сравнение с оператором равенства», урок fCC в _Javascript Algorithms and Data Structures Certification_](https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-equality-operator)
2 . [«Базовый JavaScript: сравнение с оператором строгого равенства», урок fCC в _Javascript Algorithms and Data Structures Certification_](https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-strict-equality-operator)
### Ресурсы
* ["if ... else" - _ссылка MDN JavaScript_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if…else)
* [Кондов, Александр. «Понимание JS: Принуждение». _Хакернун_](https://hackernoon.com/understanding-js-coercion-ff5684475bfc) , [оступный_](https://hackernoon.com/understanding-js-coercion-ff5684475bfc) 15 сентября 2018 года
* [«Операторы сравнения» - _ссылка на MDN JavaScript_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators)

View File

@@ -0,0 +1,41 @@
---
title: Comparison with the Strict Inequality Operator
localeTitle: Сравнение с оператором строгого неравенства
---
## Сравнение с оператором строгого неравенства
### Объяснение проблемы:
· обавьте `strict inequality operator` `if` чтобы функция вернула «Не равно», когда `val` не строго равно `17` ._
#### Подсказка 1
Оператор строгого неравенства ( `!==` ) вернет `true` если первое значение не равно второму, учитывающему тип значения.
> _попытаться решить проблему сейчас_
## Осторожно, спойлеры!
**Решение впереди!**
## Базовое решение:
```javascript
function testStrictNotEqual(val) {
if (val !== 17) {
return "Not equal";
}
return "Equal";
}
// Change this value to test
testStrictNotEqual(10);
```
### Обозначение кода
Функция сначала оценивает, `if` условие `(val !== 17)` оценивается как `true` учитывая как значение, так и тип значения. Если это так, оно возвращает выражение между фигурными фигурными скобками («Не равно»). Если это не так, он возвращает следующий оператор `return` вне их («Равно»).
### Ресурсы
* [«Нетождественное / строгое неравенство (! ==)» - _ссылка MDN JavaScript_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Non-identity_strict_inequality_(!))

View File

@@ -0,0 +1,53 @@
---
title: Comparisons with the && (logical AND) operator
localeTitle: Сравнение с оператором && (логический AND)
---
## Сравнение с оператором && (логический AND)
### Объяснение проблемы:
· _Объедините два оператора if в один оператор, который вернет `"Yes"` если значение `val` меньше или равно `50` и больше или равно `25` . В противном случае вернется `"No"` ._
#### Подсказка 1
Логический оператор AND ( `&&` ) сравнивает оба оператора и возвращает `true` только если оба они являются истинными или могут быть преобразованы в true (правдивый).
> _попытаться решить проблему сейчас_
#### Подсказка 2
Помните, что этот эффект может быть также достигнут посредством вложенных операторов `if` .
> _попытаться решить проблему сейчас_
## Осторожно, спойлеры!
**Решение впереди!**
## Базовое решение:
```javascript
function testLogicalAnd(val) {
// Only change code below this line
if (val <= 50 && val >= 25) {
return "Yes";
}
// Only change code above this line
return "No";
}
// Change this value to test
testLogicalAnd(10);
```
· [Запустить код в repl.it](https://repl.it/@AdrianSkar/Basic-JS-Comparison-with-the-and-operator)
### Обозначение кода
Функция сначала оценивает, `if` условие `val <= 50` оценивает `true` преобразование `val` в число, если необходимо, то делает то же самое с `val >=25` из-за логического оператора AND ( `&&` ); если оба возвращают true, `return "Yes"` оператор `return "Yes"` .
### Ресурсы
* [«Логические операторы» - _ссылка MDN JavaScript_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators)

View File

@@ -0,0 +1,19 @@
---
title: Comparisons with the Logical Or Operator
localeTitle: Сравнение с логическим или оператором
---
## Сравнение с логическим или оператором
### Руководство: Следуйте коду, приведенному в примере
**Осторожно, спойлеры**
Ниже приведен пример кода (самый простой способ).
```javascript
if ( val < 10 || val > 20 ) {
return "Outside";
}
```
Вышеприведенный код вернет «Outside», только если `val` находится между 10 и 20 (включительно).

View File

@@ -0,0 +1,12 @@
---
title: Compound Assignment With Augmented Addition
localeTitle: Соединение с добавленным дополнением
---
## Соединение с добавленным дополнением
Компьютеры читаются слева направо. Таким образом, использование оператора «+ =» означает, что переменная добавляется с правильным номером, тогда переменная присваивается сумме. Вот так:
```
var a = 9;
a += 10; // Now, 'a' is equal to 19
```

View File

@@ -0,0 +1,12 @@
---
title: Compound Assignment With Augmented Division
localeTitle: Соединение с расширенным подразделением
---
## Соединение с расширенным подразделением
Компьютеры читаются слева направо. Таким образом, использование оператора '/ =' означает, что переменная делится на число справа, то переменная присваивается частному. Вот так:
```
var d = 10;
d /= 5; // Now, 'd' is equal to 2
```

View File

@@ -0,0 +1,12 @@
---
title: Compound Assignment With Augmented Multiplication
localeTitle: Соединение с расширенным умножением
---
## Соединение с расширенным умножением
Компьютеры читаются слева направо. Таким образом, использование оператора присваивания умножения означает, что переменная умножается на число справа, то переменная присваивается произведению. Вот так:
```
var c = 2;
c *= 3; // Now, 'c' is equal to 6
```

View File

@@ -0,0 +1,12 @@
---
title: Compound Assignment With Augmented Subtraction
localeTitle: Соединение с расширенной вычитанием
---
## Соединение с расширенной вычитанием
Компьютеры читаются слева направо. Таким образом, использование оператора «= =» означает, что переменная вычитается по числу справа, то переменная присваивается разнице. Вот так:
```
var b = 10;
b -= 4; // Now, 'b' is 6
```

View File

@@ -0,0 +1,12 @@
---
title: Concatenating Strings with Plus Operator
localeTitle: Конкатенация строк с помощью оператора Plus
---
## Конкатенация строк с помощью оператора Plus
Конкатенат означает соединение. Подумайте о «+» операторе, как цепь, связывающая строки вместе; добавьте строки так же, как вы добавляете числа. Убедитесь, что ваше правописание правильное! Обратите внимание на пробелы между словами.
```
var str = "Good " + "job!" // It says "Good job!"
var abc = "Good" + "job!" // It says "Goodjob!"
```

View File

@@ -0,0 +1,13 @@
---
title: Concatenating Strings with the Plus Equals Operator
localeTitle: Объединение строк с помощью оператора Plus Equals
---
## Объединение строк с помощью оператора Plus Equals
Оператор «+ =» может легко конкатенировать (ссылку) строки. Убедитесь, что ваше правописание правильное, и вы оставили соответствующие пробелы.
```
var str = "Hello ";
str += "coding"; // Now the string reads "Hello coding"
str += "camper!"; // And now the string reads "Hello codingcamper!"
```

View File

@@ -0,0 +1,14 @@
---
title: Constructing Strings with Variables
localeTitle: Построение строк с переменными
---
## Построение строк с переменными
Добавьте переменные, которые хранят строки, для создания более длинных строк. Убедитесь, что правописание и интервал правильные.
```
var myName = "Bobby";
var myFavLetter = "B";
var sentence = "Hello, I'm " + myName + ". My favorite letter is " + myFavLetter + ".";
//The result is "Hello, I'm Bobby. My favorite letter is B.
```

View File

@@ -0,0 +1,48 @@
---
title: Count Backwards With a For Loop
localeTitle: Count Backwards с помощью цикла
---
## Count Backwards с помощью цикла
Вот пример:
```javascript
// Example
var ourArray = [];
for (var i = 10; i > 0; i -= 2) {
ourArray.push(i);
}
// Setup
var myArray = [];
// Only change code below this line.
```
#### СОВЕТ: 1
* создать новый цикл for myArray
#### СОВЕТ: 2
* начните с первого нечетного числа перед 9
# ПРЕДУПРЕЖДЕНИЕ SPOILER: РЕШЕНИЕ ВПЕРЕДИ
```javascript
var ourArray = [];
for (var i = 10; i > 0; i -= 2) {
ourArray.push(i);
}
// Setup
var myArray = [];
// Only change code below this line.
for (var i = 9; i > 0; i-=2){
myArray.push(i)
}
```

View File

@@ -0,0 +1,134 @@
---
title: Counting Cards
localeTitle: Счетные карточки
---
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": Triangular_flag_on_post:") Не забудьте использовать **`Read-Search-Ask`** если вы застряли. Попробуйте подключить программу ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ": Busts_in_silhouette:") и напишите свой собственный код ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":карандаш:")
### ![:checkered_flag:](https://forum.freecodecamp.com/images/emoji/emoji_one/checkered_flag.png?v=3 ": Checkered_flag:") Проблема Объяснение:
В игре **Blackjack** в казино игрок может получить преимущество над домом, отслеживая относительное количество высоких и низких карт, оставшихся в колоде. Это называется подсчет карт.
Наличие более высоких карт, оставшихся в колоде, способствует игроку. Каждой карте присваивается значение в соответствии с приведенной ниже таблицей. Когда счет положителен, игрок должен делать ставки на высокий уровень. Когда счетчик равен нулю или отрицателен, игрок должен делать ставки на низком уровне.
Значение | Карты
\----- | : -------------------:
+1 | 2, 3, 4, 5, 6
0 | 7, 8, 9
\-1 | 10, 'J', 'Q', 'K', 'A'
Вы будете писать функцию подсчета карт. Он получит параметр **карты** и увеличит или уменьшит глобальную переменную **счета в** соответствии со значением карты (см. Таблицу). Затем функция вернет строку с текущим счетчиком и строкой `Bet` если счетчик положителен, или `Hold` если счетчик равен нулю или отрицателен. Текущий счетчик и решение игрока ( `Bet` или `Hold` ) должны быть разделены одним пробелом.
* Изменить код ниже `// Only change code below this line` и до `// Only change code above this line`
* Убедитесь, что вы редактируете внутреннюю часть функции `cc` .
* Используйте то, что вы изучили, чтобы проверить значение каждого параметра **карты,** переданного в функцию.
* Сохраните подсчет этого числа.
* Если конечный счет равен 1 или больше, верните **\# Удержание** .
* Если итоговый счет равен 0 или меньше, верните **\# ставка** .
**Пример:**
* \-3 Удержание
* 5 ставок
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 1
Используйте оператор `switch` (или `else if` ), чтобы подсчитать значение каждой карты.
> _попытаться решить проблему сейчас_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 2
Добавьте / вычтите значение каждой карты для **подсчета** переменных. Если карта стоит 0, ничего не делайте.
> _попытаться решить проблему сейчас_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 3
После того, как вы подсчитали карты, используйте инструкцию `if` чтобы проверить значение **count** . Кроме того, убедитесь, что у вашего `return` есть пробел между номером и строкой.
> _попытаться решить проблему сейчас_
## Осторожно, спойлеры!
![предупреждающий знак](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**Решение впереди!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ": Начинающий:") Решение базового кода:
```javascript
function cc(card) {
// Only change code below this line
switch(card){
case 2:
case 3:
case 4:
case 5:
case 6:
count++;
break;
case 10:
case "J":
case "Q":
case "K":
case "A":
count--;
break;
}
if (count > 0){
return count + " Bet";
} else {
return count + " Hold";
}
// Only change code above this line
}
```
### Код Объяснение:
* Проверьте значение каждой карточки с помощью оператора `switch` .
* **Счетчик** переменных:
* Увеличивает на 1, если карта равна 2, 3, 4, 5 или 6.
* Поскольку 7, 8 и 9 ничего не стоят, мы игнорируем эти карты в инструкции `switch` .
* Уменьшает на 1, если карта равна 10, 'J', 'Q', 'K' или 'A'.
* Проверьте значение **счетчика** и верните соответствующий ответ.
**Пример Run**
* `cc(2);` пробеги.
* Оператор `switch` обращается к `case 2` , спрыгивает вниз и добавляет 1 к `count` переменных.
* Затем оператор `switch` попадает в `break` и `cc(3);` пробеги.
* Этот цикл продолжается до окончательного вызова, `cc('A');` ,
* После оператора `switch` оператор `if` проверяет `count` , который теперь равен 0.
* Затем он опускается до инструкции `else` , которая вернет **0 Hold** .
**_Примечание_** . Как упоминалось ранее, оператор `switch` мог также быть инструкцией `else if` .
## Дополнительное решение для кода:
```javascript
function cc(card) {
// Only change code below this line
var regex = /[JQKA]/;
if (card > 1 && card < 7){count++;}
else if (card === 10 || String(card).match(regex)){count--;}
if (count > 0) return count + " Bet";
return count + " Hold";
// Only change code above this line
}
```
· Запустить код в [repl.it.](https://repl.it/@AdrianSkar/Basic-JS-Counting-cards)
### Обозначение кода
· Функция сначала оценивает, является `if` `card` условия значением больше `1` и ниже `7` , и в этом случае она увеличивает `count` на единицу. · Если карта равна `10` или выше, она уменьшает `count` на единицу. · Переменное `regex` является [регулярным выражением](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp) , представляющее значение (буквы) для высших карт. · Оператор `else` проверяет эти значения с помощью `|| (logical OR)` оператор; сначала для `10` а затем для любой строки, которая соответствует регулярному выражению с помощью [String.match ()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match) .
#### Ресурсы
* [Счет в Википедии](https://en.wikipedia.org/wiki/Card_counting)
* [Задача: выбор из множества опций с помощью операторов Switch](http://www.freecodecamp.com/challenges/selecting-from-many-options-with-switch-statements)
* [Задача: цепочка в случае других утверждений](http://www.freecodecamp.com/challenges/chaining-if-else-statements)
* [Задача: увеличить номер с помощью Javascript](http://www.freecodecamp.com/challenges/increment-a-number-with-javascript)

View File

@@ -0,0 +1,11 @@
---
title: Create Decimal Numbers with JavaScript
localeTitle: Создание десятичных чисел с помощью JavaScript
---
# Создание десятичных чисел с помощью JavaScript
Число переменных JavaScript может иметь десятичные значения.
```
var myDecimal = 2.8;
```

View File

@@ -0,0 +1,28 @@
---
title: Declare JavaScript Variables
localeTitle: Объявление переменных JavaScript
---
# Объявление переменных JavaScript
Когда мы храним данные в структуре данных, мы называем это переменной. Переменные JavaScript написаны на верблюжьем корпусе. Примером случая с верблюдом является: `camelCase` .
Вы можете объявить переменную таким образом
```js
var myName = "Rafael";
```
ES6 представила два других способа объявления переменных. **let** и **const** . усть_ довольно похоже на var и по большей части взаимозаменяемо:
```js
let myAge = 36;
```
Где _пусть_ отличается, находится в его объеме. Когда мы объявляем использование _var_ , оно является глобальным по объему. Когда мы объявляем использование _let_ , область действия ограничена этой функцией. Если вы хотите использовать переменную _let_ вне функции, вы должны сделать ее глобальной в области видимости или переопределить ее в следующей функции.
**const** , с другой стороны, может быть объявлен только один раз. Его ценность никогда не изменится.
```js
const myName = "Christina";
```

View File

@@ -0,0 +1,16 @@
---
title: Declare String Variables
localeTitle: Объявлять строковые переменные
---
## Объявлять строковые переменные
В JavaScript переменные являются **динамическими** . Это означает, что они могут удерживать числа, строки или любой другой тип данных в данный момент времени. Чтобы объявить строку, просто **инициализируйте** (создайте) переменную:
```
var a;
```
Затем, используя одиночные или двойные кавычки, объявите строку:
```
a = "Hello Camper!";
```

View File

@@ -0,0 +1,13 @@
---
title: Decrement a Number with JavaScript
localeTitle: Уменьшить число с помощью JavaScript
---
## Уменьшить число с помощью JavaScript
Уменьшить число с помощью оператора «-»:
```
var a = 5;
a--; // Now, 'a' is 4
--a; // Now, 'a' is 3
```

View File

@@ -0,0 +1,36 @@
---
title: Delete Properties from a JavaScript Object
localeTitle: Удаление свойств из объекта JavaScript
---
## Удаление свойств из объекта JavaScript
### ПОДСКАЗКА: 1
* измените свойства myDog с помощью точечной нотации
# ПРЕДУПРЕЖДЕНИЕ SPOILER: РЕШЕНИЕ ВПЕРЕДИ
```javascript
var ourDog = {
"name": "Camper",
"legs": 4,
"tails": 1,
"friends": ["everything!"],
"bark": "bow-wow"
};
delete ourDog.bark;
// Setup
var myDog = {
"name": "Happy Coder",
"legs": 4,
"tails": 1,
"friends": ["freeCodeCamp Campers"],
"bark": "woof"
};
// Only change code below this line.
delete myDog.tails;
```

View File

@@ -0,0 +1,11 @@
---
title: Divide One Decimal by Another with JavaScript
localeTitle: Разделить одно десятичное на другое с помощью JavaScript
---
# Разделить одно десятичное на другое с помощью JavaScript
Javascript использует символ `/` для деления.
```
var quotient = 0.6 / 0.3; //quotient gets the value 2
```

View File

@@ -0,0 +1,11 @@
---
title: Divide One Number by Another with JavaScript
localeTitle: Разделите одно число другим с помощью JavaScript
---
# Разделите одно число другим с помощью JavaScript
Javascript использует символ `/` для деления.
```
var quotient = 6 / 3; //quotient will get value 2
```

View File

@@ -0,0 +1,9 @@
---
title: Escape Sequences in Strings
localeTitle: Последовательности выхода в строках
---
## Последовательности выхода в строках
Это заглушка. [Помогите нашему сообществу расширить его](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings/index.md) .
[Это руководство по быстрому стилю поможет вам принять ваш запрос на тягу](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,19 @@
---
title: Escaping Literal Quotes in Strings
localeTitle: Исключение буквенных котировок в строках
---
## Исключение буквенных котировок в строках
* Когда вам нужно использовать специальный символ , такие как `"` внутри строки , вам нужно , чтобы избежать его использования `\` .
* Если вы используете двойные кавычки `"` для строки, одинарные кавычки `'` в строке, ее не нужно экранировать.
* Если вы используете одиночные кавычки `'` для строки, двойные кавычки `"` в строке не нужно экранировать.
## Решение
```javascript
var myStr = "I am a \"double quoted\" string inside \"double quotes\".";
var otherStr = 'I am a \'single quoted\' string inside \'single quotes\'.';
var noEscapeSingle = "There is no need to 'escape' the single quotes.";
var noEscapeDouble = 'There is no need to "escape" the double quotes.';
```

View File

@@ -0,0 +1,14 @@
---
title: Find the Length of a String
localeTitle: Найти длину строки
---
## Найти длину строки
Строки имеют **атрибут** (функция), называемый длиной. Все, что вам нужно сделать, это пометить его после строки / переменной.
```
var str1 = "Hello";
var length1 = str1.length; // This returns 5
var length2 = " Camper".length; // This returns 7 because the space is counted as one character.
```

View File

@@ -0,0 +1,11 @@
---
title: Finding a Remainder in JavaScript
localeTitle: Поиск остатка в JavaScript
---
# Поиск остатка в JavaScript
Оператор остатка `%` дает остаток от деления двух чисел.
```
var remainder = 11 % 3; //remainder gets the value 2
```

View File

@@ -0,0 +1,38 @@
---
title: Generate Random Fractions with JavaScript
localeTitle: Генерировать случайные дроби с помощью JavaScript
---
# Генерировать случайные дроби с помощью JavaScript
Случайные числа полезны для создания случайного поведения.
JavaScript имеет функцию `Math.random()` которая генерирует случайное десятичное число между 0 (включительно) и не совсем до 1 (исключая). Таким образом, `Math.random()` может возвращать 0, но никогда не возвращает 1.
## Заметка
Подобно сохранению значений с помощью Equal Operator, все вызовы функций будут разрешены до выполнения возврата, поэтому мы можем вернуть значение функции `Math.random()` .
## инструкции
Измените randomFraction, чтобы вернуть случайное число вместо возврата 0.
## **Внимание !!!**
### **Осторожно, спойлеры !!**
Решение:
```
function randomFraction() {
// Only change code below this line.
var result = 0;
// Math.random() can generate 0. We don't want to return a 0,
// so keep generating random numbers until we get one that isn't 0
while (result === 0) {
result = Math.random();
}
return result;
// Only change code above this line.
}
```

View File

@@ -0,0 +1,9 @@
---
title: Generate Random Whole Numbers with JavaScript
localeTitle: Генерировать случайные целые числа с помощью JavaScript
---
## Генерировать случайные целые числа с помощью JavaScript
Это заглушка. [Помогите нашему сообществу расширить его](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-with-javascript/index.md) .
[Это руководство по быстрому стилю поможет вам принять ваш запрос на тягу](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,9 @@
---
title: Generate Random Whole Numbers within a Range
localeTitle: Генерировать случайные целые числа в пределах диапазона
---
## Генерировать случайные целые числа в пределах диапазона
**Помощь для прохождения финального теста:** _`randomRange` должен использовать как `myMax` и `myMin` и возвращать случайное число в вашем диапазоне._
Вы не можете пройти окончательный тест, если вы повторно используете функцию `ourRandomRange` внутри вашей формулы `randomRange` . Вам нужно написать свою собственную формулу, которая использует переменные `myMax` и `myMin` . Он будет выполнять ту же работу, что и с помощью `ourRandomRange` , но гарантирует, что вы поняли принципы функций `Math.floor()` и `Math.random()` .

View File

@@ -0,0 +1,62 @@
---
title: Global Scope and Functions
localeTitle: Глобальная область и функции
---
## Глобальная область и функции
Объем переменной - ее видимость; где в коде функция доступна? Вот список различных областей, которые может иметь переменная.
* **Глобальная область** : переменная доступна во всем коде
* **Локальная область** : доступна только в определенной области (например, только внутри функции)
* **Область блока** : доступна в _еще более_ определенной области (например, if-statement)
Ваша задача - понять, как добавление `var` (а не добавление) перед именем переменной может изменить область переменной.
Когда вы добавляете `var` перед именем переменной, его область определяется по месту ее размещения. Вот так:
```javascript
var num1 = 18; // Global scope
function fun() {
var num2 = 20; // Local (Function) Scope
if (true) {
var num3 = 22; // Block Scope (within an if-statement)
}
}
```
Когда вы этого не сделаете, это результат:
```javascript
num1 = 18; // Global scope
function fun() {
num2 = 20; // Global Scope
if (true) {
num3 = 22; // Global Scope
}
}
```
Хорошо, вот основное решение для кода.
```javascript
// Declare your variable here
var myGlobal = 10;
function fun1() {
oopsGlobal = 5;
}
// Only change code above this line
function fun2() {
var output = "";
if (typeof myGlobal != "undefined") {
output += "myGlobal: " + myGlobal;
}
if (typeof oopsGlobal != "undefined") {
output += " oopsGlobal: " + oopsGlobal;
}
console.log(output);
}
```

View File

@@ -0,0 +1,22 @@
---
title: Global vs. Local Scope in Functions
localeTitle: Глобальная и локальная область функций
---
## Глобальная и локальная область функций
Помните, что глобальная область видимости означает, что переменная доступна во всем коде. Локальный масштаб означает, что переменная доступна в определенном диапазоне.
В этом упражнении у вас есть переменная `outerWear` в глобальной области с «футболкой», поскольку это значение. Теперь вы должны создать другую переменную с именем `outerWear` , но на этот раз внутри функции `myOutfit()` . Основное решение для кода:
```javascript
var outerWear = "T-shirt";
function myOutfit() {
var outerWear = "sweater";
return outerWear;
}
myOutfit();
```
Функция вернет ближайший `outerWear` он может найти. Поскольку мы создали `outerWear` функцию внутри функции, то есть «ближайшую», поэтому функция вернет «свитер».

View File

@@ -0,0 +1,125 @@
---
title: Golf Code
localeTitle: Гольф-код
---
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": Triangular_flag_on_post:") Не забудьте использовать **`Read-Search-Ask`** если вы застряли. Попробуйте подключить программу ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ": Busts_in_silhouette:") и напишите свой собственный код ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":карандаш:")
### ![:checkered_flag:](https://forum.freecodecamp.com/images/emoji/emoji_one/checkered_flag.png?v=3 ": Checkered_flag:") Проблема Объяснение:
В игре в гольф каждое отверстие имеет **номинальной** означая среднее число **ударов** игрок в гольф , как ожидается , чтобы сделать для того , чтобы утопить мяч в отверстие , чтобы закончить игру. В зависимости от того , насколько выше или ниже **номинальной** ваши **ходы,** есть другой ник.
Ваша функция будет передана параметрам **par** и **strokes** . Вы должны вернуть правильную строку в соответствии с этой таблицей, которая отображает штрихи в порядке приоритета; верхняя (самая высокая) до нижней (самая низкая):
Штрихи | Вернуть
: --------- | : -------------
1 | "Отверстие в одном!"
<= par - 2 | «Орел»
par - 1 | "Птичка"
par | «Пар»
par + 1 | «Пугало»
par + 2 | "Двойной Богей" > = par + 3 | "Иди домой!"
**par** и **штрихи** всегда будут числовыми и положительными.
* Измените код ниже `// Only change code below this line` и выше `// Only change code above this line` .
* Убедитесь, что вы редактируете внутреннюю часть функции `golfScore` .
* Вам нужно будет заставить функцию возвращать точно такую ​​же строку, как показано в таблице, в зависимости от значения параметров **par** и **штрихов** , передаваемых вашей функции.
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 1
`+number -number` можно использовать для увеличения или уменьшения параметра в вашем состоянии.
> _попытаться решить проблему сейчас_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 2
Вы используете `if / else if` цепочки возвращают разные значения в разных сценариях.
> _попытаться решить проблему сейчас_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 3
Управляйте потоком вашей функции на основе таблиц порядка приоритета - верхний (самый высокий) до нижнего (самый низкий), чтобы возвращать соответствующие строковые значения.
> _попытаться решить проблему сейчас_
## Осторожно, спойлеры!
![предупреждающий знак](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**Решение впереди!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ": Начинающий:") Решение базового кода:
```
function golfScore(par, strokes) {
// Only change code below this line
if (strokes == 1){
return "Hole-in-one!";
} else if (strokes <= par -2){
return "Eagle";
} else if (strokes == par -1) {
return "Birdie";
} else if (strokes == par) {
return "Par";
} else if (strokes == par +1) {
return "Bogey";
} else if (strokes == par +2) {
return "Double Bogey";
} else {
return "Go Home!";
}
// Only change code above this line
}
// Change these values to test
golfScore(5, 4);
```
### Код Объяснение:
* Сравните параметры **par** и **stroke,** чтобы вернуть соответствующие строковые значения.
* `if / else if` цепочка используется для управления потоком.
* Строка «Иди домой!» возвращается для каждого условия, когда **штрихи** больше или равны **par + 3** .
## Альтернативное решение для кода:
```javascript
var names = ["Hole-in-one!", "Eagle", "Birdie", "Par", "Bogey", "Double Bogey", "Go Home!"];
function golfScore(par, strokes) {
// Only change code below this line
if (strokes == 1){
return names[0];
}
else if (strokes <= par-2){
return names[1];
}
else if (strokes == par -1){
return names[2];
}
else if (strokes == par){
return names[3];
}
else if (strokes == par +1){
return names[4];
}
else if (strokes == par +2){
return names[5];
}
else {return names[6];}
// Only change code above this line
}
// Change these values to test
golfScore(5, 4);
```
· Запустить на [repl.it](https://repl.it/@AdrianSkar/Basic-JS-Golf-code)
\## Обозначение кода Поскольку у нас уже есть массив, определенный в `names` переменных, мы можем воспользоваться им и использовать его для наших операторов return, используя индексы (например: `names[0] is the first one` ). Таким образом, если вам когда-либо понадобится изменить определенный результат, вам не нужно будет искать его внутри функции, это будет в начале в вашем массиве.
### Ресурсы
* [Гольф](https://en.wikipedia.org/wiki/Golf)
* [Задача: цепочка в случае других утверждений](http://www.freecodecamp.com/challenges/chaining-if-else-statements)
* [Задача: сравнение с тем, что больше, чем оператору](http://www.freecodecamp.com/challenges/comparison-with-the-greater-than-equal-to-operator)
* [Задача: сравнение с меньшим, чем равным оператору](http://www.freecodecamp.com/challenges/comparison-with-the-less-than-equal-to-operator)
* [«Массив» - _ссылка MDN JavaScript_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)

View File

@@ -0,0 +1,13 @@
---
title: Increment a Number with JavaScript
localeTitle: Увеличение номера с помощью JavaScript
---
## Увеличение номера с помощью JavaScript
Вы можете легко увеличивать (добавлять) числовую переменную с помощью оператора приращения «++». Например:
```
var a = 6;
a++; // Now, 'a' is equal to 7 -- post-fixing
++a; // Now, 'a' is equal to 8 -- pre-fixing
```

View File

@@ -0,0 +1,11 @@
---
title: Basic Javascript
localeTitle: Основной Javascript
---
## Основной Javascript
Это заглушка. [Помогите нашему сообществу расширить его](https://github.com/freecodecamp/guides/tree/master/src/pages/mathematics/quadratic-equations/index.md) .
[Это руководство по быстрому стилю поможет вам принять ваш запрос на тягу](https://github.com/freecodecamp/guides/blob/master/README.md) .
#### Дополнительная информация:

View File

@@ -0,0 +1,11 @@
---
title: Initializing Variables with the Assignment Operator
localeTitle: Инициализация переменных с помощью оператора присваивания
---
## Инициализация переменных с помощью оператора присваивания
Для **инициализации** переменной нужно указать начальное значение. Вы можете объявить и инициализировать переменную следующим образом:
```
var num = 5; // This is equal to 5
```

View File

@@ -0,0 +1,63 @@
---
title: Introducing Else If statements
localeTitle: Представляем инструкции Else If
---
## Представляем инструкции Else If
Не забудьте использовать Read-Search-Ask, если вы застряли. Попробуйте подключить программу и написать собственный код.
\### Объяснение проблемы:
```javascript
function testElseIf(val) {
if (val > 10) {
return "Greater than 10";
}
if (val < 5) {
return "Smaller than 5";
}
return "Between 5 and 10";
}
// Change this value to test
testElseIf(7);
```
Мы будем модифицировать существующий код выше, чтобы он следовал потоку логики, который имеет оператор **else-if** .
\### Совет: 1 `javascript if (val > 10) { return "Greater than 10"; }` Все утверждения `if` и их варианты начинаются с утверждения `if` .
> _попытаться решить проблему сейчас_
\### Подсказка: 2 `javascript else if (val < 5) { return "Smaller than 5"; }` Заявления между , `if` заявление и `else` заявление в **еще, если** поток находится в другой, если формат
> _попытаться решить проблему сейчас_
\### Подсказка: 3 `javascript else { return "Between 5 and 10"; }` Последний оператор в потоке **else-if** находится в `else` формате ### Осторожно, спойлеры! ![спойлер](http://discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif) Решение впереди! ## Базовое решение:
```javascript
function testElseIf(val) {
if (val > 10) {
return "Greater than 10";
}
else if (val < 5) {
return "Smaller than 5";
}
else {
return "Between 5 and 10";
}
}
// Change this value to test
testElseIf(7);
```
: ракета: [код запуска](https://repl.it/@RyanPisuena/GoldenWorriedRuntime) ## Обозначение кода Структура **логического потока else-if** является исходным оператором `if` , еще одним оператором `if-else` и одним заключительным заявлением `else` .
### Ресурсы
* ["if ... else" - _ссылка MDN JavaScript_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if…else)

View File

@@ -0,0 +1,58 @@
---
title: Introducing Else statements
localeTitle: Представляем инструкции Else
---
## Представляем инструкции Else
### Объяснение проблемы:
_Объединение операторов `if` в один оператор `if/else` ._
#### Подсказка 1
Когда первый оператор `if` возвращает `false` выполняется и обрабатывается следующий фрагмент кода (например, `return` , `if` или `else` ).
> _попытаться решить проблему сейчас_
#### Подсказка 2
Иногда, `if` ( `condition` ) операторы могут быть заменены операциями `else {code to execute instead}` (по сути, вы говорите своей функции _«y»,_ если она не может выполнить _«x»,_ а не указывать _«x»_ несколько раз).
> _попытаться решить проблему сейчас_
## Осторожно, спойлеры!
**Решение впереди!**
## Базовое решение:
```javascript
function testElse(val) {
var result = "";
// Only change code below this line
if (val > 5) {
result = "Bigger than 5";
}
else {
result = "5 or smaller";
}
// Only change code above this line
return result;
}
// Change this value to test
testElse(4);
```
· [Запустить код в repl.it](https://repl.it/@AdrianSkar/Introducing-else-statements)
### Обозначение кода
Функция сначала оценивает, `if` условие `val > 5` значение `true` . Если это не так, выполняется следующий оператор ( `else { return "5 or smaller";})` .
### Ресурсы
* ["if ... else" - _ссылка MDN JavaScript_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if…else)

View File

@@ -0,0 +1,38 @@
---
title: Iterate Odd Numbers With a For Loop
localeTitle: Итерировать нечетные числа с помощью цикла
---
## Итерировать нечетные числа с помощью цикла
Вот пример:
```javascript
var ourArray = [];
for (var i = 0; i < 10; i += 2) {
ourArray.push(i);
}
// Setup
var myArray = [];
// Only change code below this line.
```
Вот решение: После строки `// Only change code below this line.` мы добавляем `for` цикла. Вам нужно скопировать петлю сверху:
`javascript for (var i = 0; i < 10; i += 2) { ourArray.push(i); }` И измените `initialization` `var i = 0` на `var i = 1` , также вам нужно изменить имя массива `ourArray` на `myArray` :
`javascript for (var i = 1; i < 10; i += 2) { myArray.push(i); }`
Вот полное решение:
\`\` \`Javascript var ourArray = \[\];
для (var i = 0; i <10; i + = 2) { ourArray.push (я); }
// Настроить var myArray = \[\];
// Изменить код ниже этой строки.
для (var i = 1; i <10; i + = 2) { myArray.push (я); } \`\` \`

View File

@@ -0,0 +1,9 @@
---
title: Iterate Through an Array with a For Loop
localeTitle: Итерация через массив с петлей
---
## Итерация через массив с петлей
Это заглушка. [Помогите нашему сообществу расширить его](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/basic-javascript/iterate-through-an-array-with-a-for-loop/index.md) .
[Это руководство по быстрому стилю поможет вам принять ваш запрос на тягу](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,20 @@
---
title: Iterate with JavaScript Do...While Loops
localeTitle: Итерация с помощью JavaScript Do ... While Loops
---
## Итерация с помощью JavaScript Do ... While Loops
* `Do...While` циклы убеждаются, что код выполняется хотя бы один раз, и после выполнения, если условие внутри `while()` равно **true** , оно продолжается с циклом, в противном случае оно останавливается.
## Решение
```javascript
var myArray = [];
var i = 10;
do {
myArray.push(i);
i++;
} while(i <= 10);
```

View File

@@ -0,0 +1,9 @@
---
title: Iterate with JavaScript For Loops
localeTitle: Итерация с JavaScript для циклов
---
## Итерация с JavaScript для циклов
Это заглушка. [Помогите нашему сообществу расширить его](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-for-loops/index.md) .
[Это руководство по быстрому стилю поможет вам принять ваш запрос на тягу](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,40 @@
---
title: Iterate with JavaScript While Loops
localeTitle: Итерации с помощью JavaScript, в то время как циклы
---
## Итерации с помощью JavaScript, в то время как циклы
Хотя циклы будут работать, пока условие внутри () истинно. Пример:
```javascript
while(condition){
code...
}
```
## Подсказка 1:
Используйте переменную итератора, такую ​​как i в вашем состоянии
```javascript
var i = 0;
while(i <= 4){
}
```
## Spoiler Alert Solution Ahead!
## Решение:
```javascript
// Setup
var myArray = [];
// Only change code below this line.
var i = 0;
while (i <= 4){
myArray.push(i);
i++;
}
```

View File

@@ -0,0 +1,19 @@
---
title: Local Scope and Functions
localeTitle: Локальная область и функции
---
## Локальная область и функции
Локальная область означает, что переменная доступна в определенной области. В случае этого упражнения `myVar` доступен только внутри функции, а не где-либо снаружи.
Вот базовое решение для создания локальной переменной `myVar` .
```javascript
function myLocalScope() {
var myVar;
console.log(myVar);
}
myLocalScope();
```
Переменная существует только в функции. Вне функции она не существует.

View File

@@ -0,0 +1,9 @@
---
title: Logical Order in If Else Statements
localeTitle: Логический порядок в остальных случаях
---
## Логический порядок в остальных случаях
Это заглушка. [Помогите нашему сообществу расширить его](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/basic-javascript/logical-order-in-if-else-statements/index.md) .
[Это руководство по быстрому стилю поможет вам принять ваш запрос на тягу](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,25 @@
---
title: Manipulate Arrays With pop()
localeTitle: Манипулировать массивами С помощью pop ()
---
## Манипулировать массивами С помощью pop ()
## Проблема Объяснение
Избавьтесь от последнего элемента в массиве. Затем назначьте этот перемещенный элемент `removedFromMyArray` .
## Подсказка 1:
Вызовите `.pop()` в массиве и назначьте его `removedFromMyArray` .
## Спойлер! Код решения:
```javascript
var removedFromMyArray = myArray.pop();
=======
Remove the last element of an array with the pop() method, like so:
```
Javascript var arr = \[1, 2, 3, 4, 5\]; arr.pop (); // Это избавилось от 5
\`\` \`

View File

@@ -0,0 +1,13 @@
---
title: Manipulate Arrays With push()
localeTitle: Манипулировать массивами С помощью push ()
---
## Манипулировать массивами С помощью push ()
Метод `push()` позволяет добавить (добавить к концу) элемент в массив. Вот так…
```javascript
var arr = [1, 2, 3, 4];
arr.push(5); // Now, the array is [1, 2, 3, 4, 5]
```

View File

@@ -0,0 +1,13 @@
---
title: Manipulate Arrays With shift()
localeTitle: Манипулировать массивами со сдвигом ()
---
## Манипулировать массивами со сдвигом ()
Хотя `pop()` использовался, чтобы избавиться от последнего элемента массива, `shift()` используется, чтобы избавиться от первого элемента. Это похоже на то, что вы перемещаете элементы на одну позицию. Проверь это:
```javascript
var arr = [1, 2, 3, 4, 5];
arr.shift(); // Gets rid of the 1
```

View File

@@ -0,0 +1,13 @@
---
title: Manipulate Arrays With unshift()
localeTitle: Манипулировать массивами С помощью функции unshift ()
---
## Манипулировать массивами С помощью функции unshift ()
Хотя `push()` добавил элементы в обратную сторону массива, `unshift()` добавляет их в начало. Все, что вам нужно сделать, это:
```javascript
var arr = [2, 3, 4, 5];
arr.unshift(1); // Now, the array has 1 in the front
```

View File

@@ -0,0 +1,70 @@
---
title: Manipulating Complex Objects
localeTitle: Манипулирование сложными объектами
---
## Манипулирование сложными объектами
Вот пример:
```javascript
var myMusic = [
{
"artist": "Billy Joel",
"title": "Piano Man",
"release_year": 1973,
"formats": [
"CD",
"8T",
"LP"
],
"gold": true
}
// Add record here
];
```
Вот решение: После строки `// Add record here` добавим новый альбом в `myMusic` . Вы должны начать с `,` . И вы можете просто скопировать уже созданный альбом: `javascript { "artist": "Billy Joel", "title": "Piano Man", "release_year": 1973, "formats": [ "CD", "8T", "LP" ], "gold": true }`
и вставить после `,` :
```javascript
// Add record here
,
{
"artist": "Billy Joel",
"title": "Piano Man",
"release_year": 1973,
"formats": [
"CD",
"8T",
"LP"
],
"gold": true
}
];
```
Теперь вы можете изменить значения своего альбома:
```javascript
// Add record here
,
{
"artist": "Deep Purple",
"title": "Smoke on the water",
"release_year": 1976,
"formats": [
"CD",
"8T",
"LP"
],
"gold": true
}
];
```
Вот полное решение:
\`\` \`Javascript var myMusic = \[ { «художник»: «Билли Джоэл», «title»: «Piano Man», « од_ выпуска _»: 1973, «Форматы»: \[ "CD", «8Т», "LP" \], "gold": true }, // Добавить запись здесь { «художник»: «Deep Purple», «title»: «Дым на воде», «_ Год _выпуска_ »: 1976, «Форматы»: \[ "CD", «8Т», "LP" \], } \];
\`\` \`

View File

@@ -0,0 +1,16 @@
---
title: Modify Array Data With Indexes
localeTitle: Изменение данных массива с индексами
---
## Изменение данных массива с индексами
Получите доступ к позиции массива и измените его так:
```javascript
var arr = [1, 2, 3, 4, 5];
arr[0] = 6; // Now, the array is [6, 2, 3, 4, 5]
arr[4] = 10 // Now, the array is [6, 2, 3, 4, 10]
```
Важное понятие здесь состоит в том, что массивы являются **изменяемыми** . Это означает, что их можно легко изменить.

View File

@@ -0,0 +1,96 @@
---
title: Multiple Identical Options in Switch Statements
localeTitle: Несколько идентичных параметров в операторах переключателей
---
## Несколько идентичных параметров в операторах переключателей
### Проблема Объяснение
_Если оператор break не указывается в случае оператора switch, следующий оператор (ы) case выполняются до тех пор, пока не будет обнаружен разрыв. Если у вас несколько входов с одним и тем же выходом, вы можете представить их в инструкции switch следующим образом:_
```javascript
switch(val) {
case 1:
case 2:
case 3:
result = "1, 2, or 3";
break;
case 4:
result = "4 alone";
}
```
_Случаи для 1, 2 и 3 будут давать одинаковый результат._
_Напишите оператор switch, чтобы задать ответ для следующих диапазонов:_ `1-3` - «Низкий»
`4-6` - «Середина»
`7-9` - «Высокий»
_Заметка: Вам нужно будет иметь оператор case для каждого числа в диапазоне._
## Осторожно, спойлеры!
**Решение впереди!**
## Код решения:
```javascript
function sequentialSizes(val) {
var answer = "";
// Only change code below this line
switch(val) {
case 1:
case 2:
case 3:
return "Low";
break;
case 4:
case 5:
case 6:
return "Mid";
break;
case 7:
case 8:
case 9:
return "High";
break;
}
// Only change code above this line
return answer;
}
// Change this value to test
sequentialSizes(1);
```
## Альтернативное решение для кода:
```javascript
function sequentialSizes(val) {
var answer = "";
// Only change code below this line
switch(val){
case 1: case 2: case 3:
answer = "Low";
break;
case 4: case 5: case 6:
answer = "Mid";
break;
case 7: case 8: case 9:
answer = "High";
}
// Only change code above this line
return answer;
}
// Change this value to test
sequentialSizes(1);
```
· Запустить код в [repl.it.](https://repl.it/@AdrianSkar/Basic-JS-Multiple-opts-in-switch)
### Обозначение кода
Поскольку у вас уже есть переменная с именем `answer` и функция возвращает ее, вы можете просто изменить ее значение для каждой группы операторов case, чтобы они соответствовали требованиям упражнения.
### Ресурсы
* [«Переключатель: методы для многокритериального случая» - _Справочник по Javascript MDN_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch)

View File

@@ -0,0 +1,9 @@
---
title: Multiply Two Decimals with JavaScript
localeTitle: Умножить два десятичных знака с помощью JavaScript
---
## Умножить два десятичных знака с помощью JavaScript
Это заглушка. [Помогите нашему сообществу расширить его](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/basic-javascript/multiply-two-decimals-with-javascript/index.md) .
[Это руководство по быстрому стилю поможет вам принять ваш запрос на тягу](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,11 @@
---
title: Multiply Two Numbers with JavaScript
localeTitle: Умножить два числа с помощью JavaScript
---
# Умножить два числа с помощью JavaScript
JavaScript использует символ `*` для умножения.
```
var product = 8 * 10; //product gets the value 80
```

View File

@@ -0,0 +1,13 @@
---
title: Nest one Array within Another Array
localeTitle: Гнездо одного массива в другом массиве
---
## Гнездо одного массива в другом массиве
Массивы одномерны; это означает, что они хранят только одну строку данных. Но вы можете сделать массив многомерным, поставив массивы внутри массивов! Вот так:
```javascript
var arr = [["Two-dimensional", 2], ["Two rows", 12]];
```
Вышеупомянутый массив имеет два измерения.

View File

@@ -0,0 +1,91 @@
---
title: Nesting For Loops
localeTitle: Вложение в петли
---
## Вложение в петли
**Не забудьте использовать Read-Search-Ask, если вы застряли. Попробуйте пара программ: бюсты _в_ силуэте: и напишите свой собственный код: карандаш:**
: checkered\_flag: **Проблема Объяснение:**
Если у вас многомерный массив, вы можете использовать ту же логику, что и предыдущая путевая точка, чтобы прокручивать как массив, так и любые подмассивы.
Вот пример:
```
var arr = [
[1,2], [3,4], [5,6]
];
for (var i=0; i < arr.length; i++) {
for (var j=0; j < arr[i].length; j++) {
console.log(arr[i][j]);
}
}
```
Это выводит каждый подэлемент в `arr` одному за раз. Заметим, что для внутреннего цикла мы проверяем длину arr \[i\], так как arr \[i\] является самим массивом.
* Модифицировать функцию `multiplyAll` так, чтобы она умножала переменную `product` на каждое число в подмассивах `arr` .
* Убедитесь, что второй для цикла вложен внутри первого.
**Связанные ссылки**
* [Гнездо Один массив внутри другого массива](https://guide.freecodecamp.org/certifications/javascript-algorithms-and-data-structures/basic-javascript/nest-one-array-within-another-array)
* [Итерация через массив с A для цикла](https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/iterate-through-an-array-with-a-for-loop)
* [Доступ к вложенным массивам](https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/accessing-nested-arrays)
: speech\_balloon: Подсказка: 1
Обязательно проверяйте `length` а не общий массив.
_попытаться решить проблему сейчас_
: speech\_balloon: Подсказка 2
Используйте `i` и `j` при умножении продукта.
_попытаться решить проблему сейчас_
: speech\_balloon: Подсказка 3
Не забудьте использовать `arr[i]` когда вы умножаете подмассивы на переменную `product` .
_попытаться решить проблему сейчас_
_Осторожно, спойлеры!_ ![](https://discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**Решение впереди!**
: начинающий: **базовый код Решение:**
```
function multiplyAll(arr) {
var product = 1;
// Only change code below this line
for(var i=0; i < arr.length; i++){
for (var j=0; j < arr[i].length; j++){
product = product * arr[i][j];
}
}
// Only change code above this line
return product;
}
// Modify values below to test your code
multiplyAll([[1,2],[3,4],[5,6,7]]);
```
: ракета: **[Код запуска](https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/nesting-for-loops/)**
**Код Объяснение:**
* Мы проверить длину `arr` в `i` цикл и `arr[i]` длины в `j` для цикла.
* Мы умножаем переменную `product` самостоятельно, потому что она равна 1, а затем умножаем ее на подмассивы.
* Два подмассива для умножения - это `arr[i]` и `j` .
: буфер обмена: **ПРИМЕЧАНИЯ ДЛЯ ВЗНОСОВ:**
* : warning: **НЕ** добавляйте решения, похожие на любые существующие решения. Если вы считаете, что это похоже, но лучше, попробуйте объединить (или заменить) существующее подобное решение.
* Добавьте объяснение своего решения.
* Классифицируйте решение в одной из следующих категорий - Basic, Intermediate и Advanced. :светофор:
* Пожалуйста, добавьте свое имя пользователя, только если вы добавили соответствующее основное содержимое. (: предупреждение: _**НЕ**_ удалять существующие имена пользователей)
См.: Point\_right: [Wiki Challenge Solution Шаблон](http://forum.freecodecamp.com/t/algorithm-article-template/14272) для справки.

View File

@@ -0,0 +1,21 @@
---
title: Passing Values to Functions with Arguments
localeTitle: Передача значений в функции с аргументами
---
## Передача значений в функции с аргументами
Наша задача - создать функцию с **параметрами** . Это входы, которые определяют выход функции. Вы помещаете параметры внутри `()` , например:
```javascript
function functionWithArgs(one, two) {
console.log(one + two);
}
```
Теперь нам нужно добавить код внутри скобок. Наша задача - добавить `one` и `two` и напечатать сумму на консоли. Вот базовое решение для кода:
```javascript
functionWithArgs(7, 3);
//This will console log 10.
```

View File

@@ -0,0 +1,46 @@
---
title: Practice comparing different values
localeTitle: Практика сравнения разных значений
---
## Практика сравнения разных значений
### Объяснение проблемы:
· _Измените функцию так, чтобы она возвращала «Равно» только тогда, когда значения **строго** равны._
#### Подсказка 1
Помните из последних упражнений, которые в _отличие от оператора равенства, который пытается преобразовать оба значения, сравниваемых с общим типом, оператор строгого равенства не выполняет преобразование типа._ [1](#cite1)
> _попытаться решить проблему сейчас_
## Осторожно, спойлеры!
**Решение впереди!**
## Базовое решение:
```javascript
// Setup
function compareEquality(a, b) {
if (a === b) { // Change this line
return "Equal";
}
return "Not Equal";
}
// Change this value to test
compareEquality(10, "10");
```
### Обозначение кода
Функция сначала оценивает, соответствует `if` условие `(a === b)` `true` учитывая как тип, так и значение. Если это так, оно возвращает выражение между фигурными фигурными скобками («Равно»). Если это не так, оно возвращает следующий оператор `return` вне их («Не равно»).
### источники
1 . [«Базовый JavaScript: сравнение с оператором строгого равенства», урок fCC в _Javascript Algorithms and Data Structures Certification_](https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-strict-equality-operator)
### Ресурсы
* [«Использование операторов равенства» - _ссылка MDN JavaScript_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Using_the_Equality_Operators)

View File

@@ -0,0 +1,96 @@
---
title: Profile Lookup
localeTitle: Поиск профиля
---
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": Triangular_flag_on_post:") Не забудьте использовать **`Read-Search-Ask`** если вы застряли. Попробуйте подключить программу ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ": Busts_in_silhouette:") и напишите свой собственный код ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":карандаш:")
### ![:checkered_flag:](https://forum.freecodecamp.com/images/emoji/emoji_one/checkered_flag.png?v=3 ": Checkered_flag:") Проблема Объяснение:
У нас есть набор объектов, представляющих разные люди в наших списках контактов.
Функция `lookUpProfile()` которая принимает **firstName** и свойство ( **prop** ) в качестве аргументов, была предварительно написана для вас.
Функция должна проверять, является ли **firstName** фактическим контактом **firstName,** и данное свойство ( **prop** ) является свойством этого контакта.
Если оба значения true, верните _значение_ этого свойства.
Если **firstName** не соответствует никаким контактам, тогда возвращайте `No such contact` .
Если **prop** не соответствует каким-либо действительным свойствам, тогда возвращайте `No such property` .
* Измените код ниже `// Only change code below this line` и до `// Only change code above this line` .
* Убедитесь, что вы редактируете внутреннюю часть функции `lookUpProfile()` .
* Эта функция включает в себя два параметра: **firstName** и **prop** .
* Функция должна просматривать список **контактов** для данного параметра **firstName** .
* Если найдено совпадение, тогда функция должна искать данный параметр **prop** .
* Если найдено имя **firstName** и связанная **поддержка** , вы должны вернуть значение **prop** .
* Если **firstName** найдено и никакой связанной **опоры** не найдено, вы должны вернуть `No such property` .
* Если **firstName** не найдено нигде, вы должны вернуть `No such contact` .
#### Связанные ссылки
* [Задача: доступ к объектам с помощью условных обозначений](http://www.freecodecamp.com/challenges/accessing-objects-properties-with-bracket-notation)
* [Задача: Итерация с помощью JavaScript для циклов](http://www.freecodecamp.com/challenges/iterate-with-javascript-for-loops)
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 1
Используйте цикл `for` циклического перехода по списку **контактов** .
> _попытаться решить проблему сейчас_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 2
Используйте вложенный оператор `if` чтобы сначала проверить, совпадает ли **firstName** , и затем проверяет, соответствует `if` **поддержка** .
> _попытаться решить проблему сейчас_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 3
Оставьте свое `return "No such contact"` из цикла `for` в качестве окончательного улова.
> _попытаться решить проблему сейчас_
## Осторожно, спойлеры!
![предупреждающий знак](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**Решение впереди!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ": Начинающий:") Решение базового кода:
```
for (var x = 0; x < contacts.length; x++){
if (contacts[x].firstName === name) {
if (contacts[x].hasOwnProperty(prop)) {
return contacts[x][prop];
} else {
return "No such property";
}
}
}
return "No such contact";
```
### Код Объяснение:
* Цикл `for` запускается, начиная с первого объекта в списке **контактов** .
* Если параметр **firstName,** переданный в функцию, соответствует значению ключа `"firstName"` в первом объекте, выполняется оператор `if` .
* Затем мы используем `.hasOwnProperty()` (проверяет, есть ли заданное свойство и возвращает логическое значение) с **prop** в качестве аргумента. Если это правда, возвращается значение **prop** .
* Если второй оператор `if` терпит неудачу, `No such property` не возвращается.
* Если первый оператор `if` не работает, цикл `for` переходит к следующему объекту в списке **контактов** .
* Если параметр **firstName** не соответствует объекту конечных **контактов** , цикл `for` завершается, и `No such contact` не возвращается.
**Пример Run**
* `lookUpProfile("Akira","likes");` пробеги.
* `"Akira"` сопоставляется с ключом `"firstName"` в первом объекте, поэтому оператор `if` возвращает true.
* `"likes"` находится внутри первого объекта, поэтому второй оператор `if` возвращает true.
* Возвращается значение `"likes"` - `"Pizza", "Coding", "Brownie Points"` .
## ![:clipboard:](https://forum.freecodecamp.com/images/emoji/emoji_one/clipboard.png?v=3 ": Буфер обмена:") ПРИМЕЧАНИЯ ДЛЯ ВЗНОСОВ:
* ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":предупреждение:") **НЕ** добавляйте решения, похожие на любые существующие решения. Если вы считаете, что это **_похоже, но лучше_** , попробуйте объединить (или заменить) существующее подобное решение.
* Добавьте объяснение своего решения.
* Классифицируйте решение в одной из следующих категорий - **Basic** , **Intermediate** и **Advanced** . ![:traffic_light:](https://forum.freecodecamp.com/images/emoji/emoji_one/traffic_light.png?v=3 ":светофор:")
* Пожалуйста, добавьте свое имя пользователя, только если вы добавили **соответствующее основное содержимое** . ( ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":предупреждение:") **_НЕ_** _удаляйте существующие имена пользователей_ )
> Видеть ![:point_right:](https://forum.freecodecamp.com/images/emoji/emoji_one/point_right.png?v=3 ": Point_right:") **`Wiki Challenge Solution Template`** для **`Wiki Challenge Solution Template`** для справки.

View File

@@ -0,0 +1,9 @@
---
title: Quoting Strings with Single Quotes
localeTitle: Цитирование строк с одиночными котировками
---
## Цитирование строк с одиночными котировками
Это заглушка. [Помогите нашему сообществу расширить его](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/basic-javascript/quoting-strings-with-single-quotes/index.md) .
[Это руководство по быстрому стилю поможет вам принять ваш запрос на тягу](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,97 @@
---
title: Record Collection
localeTitle: Коллекция записей
---
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": Triangular_flag_on_post:") Не забудьте использовать **`Read-Search-Ask`** если вы застряли. Попробуйте подключить программу ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ": Busts_in_silhouette:") и напишите свой собственный код ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":карандаш:")
### ![:checkered_flag:](https://forum.freecodecamp.com/images/emoji/emoji_one/checkered_flag.png?v=3 ": Checkered_flag:") Проблема Объяснение:
Вам предоставляется объект JSON, представляющий (небольшую часть) вашу коллекцию записей. Каждый альбом идентифицируется уникальным номером id и имеет несколько свойств. Не все альбомы имеют полную информацию.
Напишите функцию, которая принимает **id** , свойство ( **prop** ) и **значение** .
Для данного **идентификатора** в **коллекции** :
Если **значение** не пустое ( **значение! == ""** ), обновите или установите **значение** для параметра **prop** .
Если **prop** - это **«дорожки»,** а **значение** не пустое, проверьте, имеет ли данный элемент в массиве свойство «дорожек». Если элемент имеет свойство «дорожек», нажмите **значение** в конец массива «дорожки». Если элемент не обладает **свойством** , создайте пару свойств и значений.
Если **значение** пустое, удалите эту **опцию** .
Всегда возвращайте весь объект коллекции.
* Измените код ниже `// Only change code below this line` и до `// Alter values below to test your code` .
* Обратите внимание, что вы редактируете внутреннюю часть функции `updateRecords` .
* Для данного параметра **id** , связанного с объектом **коллекции** :
* Если параметр **значения** не является пустой строкой, обновите (или установите) параметр **значения** для параметра **prop** .
* Если параметр **prop** равен `"tracks"` а **значение** не является пустой строкой, нажмите **значение** на конец массива **треков** .
* Если **значение** является пустой строкой, удалите эту **опору** из объекта.
* Наконец, верните объект **коллекции** .
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 1
Используйте инструкцию `else if` чтобы проверить необходимые шаги.
> _попытаться решить проблему сейчас_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 2
Второй шаг, указанный в инструкциях, должен быть первым в инструкции `else if` .
> _попытаться решить проблему сейчас_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 3
Чтобы получить доступ к значению ключа в этом объекте, вы будете использовать `collection[id][prop]` .
> _попытаться решить проблему сейчас_
## Осторожно, спойлеры!
![предупреждающий знак](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**Решение впереди!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ": Начинающий:") Решение базового кода:
```
function updateRecords(id, prop, value) {
if (prop === "tracks" && value !== "") {
if(collection[id][prop]) {
collection[id][prop].push(value);
}
else {
collection[id][prop]=[value];
}
} else if (value !== "") {
collection[id][prop] = value;
} else {
delete collection[id][prop];
}
return collection;
}
```
![:rocket:](https://forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=3 ": Ракета:") [Код запуска](https://repl.it/C2AZ/0)
### Код Объяснение:
* Сначала проверяет, равна ли **prop** равным **трекам** И если **значение** не является пустой строкой. Если оба теста пройдены, **значение** вставляется в массив **треков** .
* Если эта первая проверка не проходит, она будет проверяться только в том случае, если **значение** не является пустой строкой. Если этот тест проходит, к нему добавляется либо новый ключ ( **prop** ), либо значение ( **значение** ), либо существующий ключ обновляется, если **поддержка** уже существует.
* Если обе эти проверки терпят неудачу ( **значение** должно быть пустой строкой), тогда ключ ( **prop** ) удаляется из объекта.
**Пример Run**
* `updateRecords(5439, "artist", "ABBA");` пробеги.
* **prop** равно «художнику», а не «трекам», поэтому первая часть инструкции `else if` не выполняется.
* **Значение** не является пустой строкой, поэтому выполняется вторая часть инструкции else if.
* `artist: "ABBA"` добавляется к `id` `5439` .
### Ресурсы:
* [Задача fCC: доступ к объектам с помощью условных обозначений](https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-bracket-notation/)
* [Задача fCC: Добавить новые свойства в объект JavaScript](http://www.freecodecamp.com/challenges/add-new-properties-to-a-javascript-object)
* [Задача fCC: удалить свойства из объекта JavaScript](http://www.freecodecamp.com/challenges/delete-properties-from-a-javascript-object)
* [Задача fCC: доступ к вложенным объектам](https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/accessing-nested-objects/)
* ["Array.prototype.push ()" - _ссылка MDN JavaScript_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push)
* ["delete operator" - _ссылка MDN JavaScript_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete)

View File

@@ -0,0 +1,9 @@
---
title: Replacing If Else Chains with Switch
localeTitle: Замена остальных цепей коммутатором
---
## Замена остальных цепей коммутатором
Это заглушка. [Помогите нашему сообществу расширить его](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/basic-javascript/replacing-if-else-chains-with-switch/index.md) .
[Это руководство по быстрому стилю поможет вам принять ваш запрос на тягу](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,14 @@
---
title: Return a Value from a Function with Return
localeTitle: Возврат значения из функции с возвратом
---
## Возврат значения из функции с возвратом
Используя `return` , вы можете создавать выходные данные функций. Вот базовое решение для кода:
```javascript
function timesFive(num) {
return num * 5;
}
```

View File

@@ -0,0 +1,9 @@
---
title: Return Early Pattern for Functions
localeTitle: Возврат раннего шаблона для функций
---
## Возврат раннего шаблона для функций
Это заглушка. [Помогите нашему сообществу расширить его](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/basic-javascript/return-early-pattern-for-functions/index.md) .
[Это руководство по быстрому стилю поможет вам принять ваш запрос на тягу](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,53 @@
---
title: Returning Boolean Values from Functions
localeTitle: Возврат булевых значений из функций
---
## Возврат булевых значений из функций
Вместо использования блока if / else для сравнения переменной мы можем сделать это прямо внутри оператора return с помощью оператора сравнения и кода minmal.
### Объяснение проблемы
справить функцию `isLess` чтобы удалить инструкции `if...else` ._
```js
// Fix this code
if (a < b) {
return true;
} else {
return false;
}
```
#### Подсказка 1
Как и в [предыдущем упражнении,](https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/replacing-if-else-chains-with-switch) вы собираетесь изменить, как функция возвращает правильное значение, то есть вам не нужно повторно использовать или модифицировать этот код, а заменять его.
> _попытаться решить проблему сейчас_
#### Подсказка 2
Для того , чтобы вернуть `true` или `false` вам не нужно два заявления и не использовать , `if` из них. Правильный [оператор сравнения](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators) - это все, что вам нужно.
> _попытаться решить проблему сейчас_
## Осторожно, спойлеры!
**Решение впереди!**
## Код решения:
```javascript
function isLess(a, b) {
// Fix this code
return a <= b;
}
// Change these values to test
isLess(10, 15);
```
Выполнить код на [repl.it.](https://repl.it/@AdrianSkar/Basic-Js-Returning-boolean-from-function)
### Ресурсы
* [«Меньше или равный оператор (<=)» - _MDN Справочник по JavaScript_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Less_than_or_equal_operator_(%3C))

View File

@@ -0,0 +1,127 @@
---
title: Selecting from Many Options with Switch Statements
localeTitle: Выбор из многих параметров с помощью операторов Switch
---
## Выбор из многих параметров с помощью операторов Switch
_Если у вас есть много вариантов на выбор, используйте оператор `switch` . Оператор `switch` проверяет значение и может иметь множество операторов `case` которые определяют различные возможные значения. Заявления выполняются из первого совпадающего значения `case` до тех пор, пока не будет обнаружен `break` ._
_Вот пример псевдокода:_
```js
switch(num) {
case value1:
statement1;
break;
case value2:
statement2;
break;
...
case valueN:
statementN;
break;
}
```
### Немного больше объяснений
Оператор switch сначала оценивает свое выражение. Затем он ищет предложение первого `case` , выражение которого оценивается с тем же значением, что и результат входного выражения (используя [строгое сравнение](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators) , ( `===` ) и передает управление этому предложению, выполняя связанные операторы (если несколько совпадений совпадают предоставленное значение, выбирается первый случай, который соответствует, даже если случаи не равны друг другу.)
Если `case` не найден, программа ищет необязательное предложение по `default` , и если оно найдено, передает управление этому предложению, выполняя связанные операторы. Если предложение по `default` не найдено, программа продолжает выполнение в инструкции после окончания `switch` . По соглашению, предложение по `default` является последним предложением, но это не обязательно так.
Необязательный оператор `break` связанный с каждым ярлыком case, гарантирует, что программа выйдет из коммутатора после выполнения согласованного оператора и продолжит выполнение в операторе следующего коммутатора. Если `break` пропущен, программа продолжает выполнение в следующем выражении в инструкции `switch` . [1](#cite1)
### Проблема Объяснение:
_Напишите оператор switch, который проверяет `val` и устанавливает `answer` для следующих условий:_
* `1` - «альфа»,
* `2` - «бета»,
* `3` - «гамма»,
* `4` - «дельта».
## Подсказка 1
Помните, что значения `case` проверяются со строгим равенством ( `===` ).
> Попробуйте решить проблему сейчас!
## Подсказка 2
Не видите следующие условия»_ как упорядоченный список, как он выглядит в оригинальной демонстрации freeCodeCamp, но как значения и инструкции, как показано здесь
> Попробуйте решить проблему сейчас!
## Осторожно, спойлеры!
### Вы полностью уверены, что хотите посмотреть? ...
## Решение базового кода
```js
function caseInSwitch(val) {
var answer = "";
// Only change code below this line
switch(val) {
case 1:
return "alpha";
break;
case 2:
return "beta";
break;
case 3:
return "gamma";
break;
case 4:
return "delta";
break;
}
// Only change code above this line
return answer;
}
// Change this value to test
caseInSwitch(1);
```
### Обозначение кода
Обычно игнорируется, что значения `case` проверяются со строгим равенством с любой потребностью другого выражения, например: `case === value`
## Альтернативное решение для кода:
```javascript
function caseInSwitch(val) {
var answer = "";
// Only change code below this line
switch (val){
case 1:
answer="alpha";
break;
case 2:
answer="beta";
break;
case 3:
answer="gamma";
break;
case 4:
answer="delta";
break;
}
// Only change code above this line
return answer;
}
// Change this value to test
caseInSwitch(1);
```
· Запустить код в [repl.it.](https://repl.it/@AdrianSkar/Basic-JS-Switch-statements)
### Обозначение кода
Поскольку у вас уже есть переменная, определенная в начале функции с именем `answer` и она определена как последний оператор return, вы можете назначить ему новые значения для каждого случая и вернет ожидаемый ответ в зависимости от значения, которое вы передаете функции.
### источники
1 . [Описание «switch» - _ссылка MDN JavaScript_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch#Description) .

View File

@@ -0,0 +1,65 @@
---
title: Shopping List
localeTitle: Список покупок
---
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": Triangular_flag_on_post:") Не забудьте использовать **`Read-Search-Ask`** если вы застряли. Попробуйте подключить программу ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ": Busts_in_silhouette:") и напишите свой собственный код ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":карандаш:")
### ![:checkered_flag:](https://forum.freecodecamp.com/images/emoji/emoji_one/checkered_flag.png?v=3 ": Checkered_flag:") Проблема Объяснение:
Создайте список покупок в переменной **myList** . Список должен быть многомерным массивом, содержащим несколько подмассивов.
Первый элемент в каждом под-массиве должен содержать строку с именем элемента. Второй элемент должен быть числом, представляющим количество, т.е. `["Chocolate Bar", 15]` .
В списке должно быть не менее 5 поддиапазонов.
* **myList** должен быть массивом.
* Первые элементы в каждом из ваших подматриц должны быть строками.
* Все элементы в каждом из ваших подматриц должны быть числами.
* В вашем списке должно быть не менее 5 элементов.
#### Связанные ссылки
* [Задача: гнездо одного массива в другом массиве](https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/nest-one-array-within-another-array/)
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 1
Многомерный массив имел бы следующий контур `[[]]` .
> _попытаться решить проблему сейчас_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 2
Каждый суб-массив должен быть разделен `,` как и любой элемент в массиве.
> _попытаться решить проблему сейчас_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 3
Не забывайте `;` в конце вашей декларации.
> _попытаться решить проблему сейчас_
## Осторожно, спойлеры!
![предупреждающий знак](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**Решение впереди!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ": Начинающий:") Решение базового кода:
```
var myList = [["Canned Beans", 3],["Milk Galon", 1],["Cereal", 2],["Toilet Paper", 12],["Sack of Rice", 1]];
```
### Код Объяснение:
* Создается многомерный массив.
* Массив состоит из пяти массивов внутри, каждый из которых состоит из строки и целого числа в том же порядке.
## ![:clipboard:](https://forum.freecodecamp.com/images/emoji/emoji_one/clipboard.png?v=3 ": Буфер обмена:") ПРИМЕЧАНИЯ ДЛЯ ВЗНОСОВ:
* ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":предупреждение:") **НЕ** добавляйте решения, похожие на любые существующие решения. Если вы считаете, что это **_похоже, но лучше_** , попробуйте объединить (или заменить) существующее подобное решение.
* Добавьте объяснение своего решения.
* Классифицируйте решение в одной из следующих категорий - **Basic** , **Intermediate** и **Advanced** . ![:traffic_light:](https://forum.freecodecamp.com/images/emoji/emoji_one/traffic_light.png?v=3 ":светофор:")
* Пожалуйста, добавьте свое имя пользователя, только если вы добавили **соответствующее основное содержимое** . ( ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":предупреждение:") **_НЕ_** _удаляйте существующие имена пользователей_ )
> Видеть ![:point_right:](https://forum.freecodecamp.com/images/emoji/emoji_one/point_right.png?v=3 ": Point_right:") [**`Wiki Challenge Solution Template`**](http://forum.freecodecamp.com/t/algorithm-article-template/14272) для [**`Wiki Challenge Solution Template`**](http://forum.freecodecamp.com/t/algorithm-article-template/14272) для справки.

View File

@@ -0,0 +1,73 @@
---
title: Stand in Line
localeTitle: Стоять в очереди
---
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": Triangular_flag_on_post:") Не забудьте использовать **`Read-Search-Ask`** если вы застряли. Попробуйте подключить программу ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ": Busts_in_silhouette:") и напишите свой собственный код ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":карандаш:")
### ![:checkered_flag:](https://forum.freecodecamp.com/images/emoji/emoji_one/checkered_flag.png?v=3 ": Checkered_flag:") Проблема Объяснение:
В информатике _очередь_ представляет собой абстрактную **структуру данных, в** которой элементы хранятся в порядке. Новые элементы могут быть добавлены в конце **очереди,** а старые элементы сняты с передней части **очереди** .
Напишите функцию `nextInLine` которая принимает массив ( **arr** ) и число ( **элемент** ) в качестве аргументов. Добавьте число в конец массива, затем удалите первый элемент массива. Затем функция `nextInLine` возвращает элемент, который был удален.
* Измените код ниже `//Your Code here` и до `//Change this line` .
* Убедитесь, что вы редактируете внутреннюю часть функции `nextInLine` .
* Используйте функцию массива, которую вы изучили, чтобы добавить **элемент** в конец массива **arr** .
* Используйте функцию массива, которую вы изучили, чтобы удалить первый элемент из массива **arr** .
* Верните элемент.
#### Связанные ссылки
* [Задача: Манипулировать массивами С помощью push ()](http://www.freecodecamp.com/challenges/manipulate-arrays-with-push)
* [Задача: Манипулировать массивами со сдвигом ()](http://www.freecodecamp.com/challenges/manipulate-arrays-with-shift)
* [Задача: передача значений в функции с аргументами](http://www.freecodecamp.com/challenges/passing-values-to-functions-with-arguments)
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 1
Метод `push()` добавляет элемент в конец массива.
> _попытаться решить проблему сейчас_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 2
Метод `shift()` удаляет первый элемент массива. Он также возвращает элемент удален.
> _попытаться решить проблему сейчас_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 3
Функция `nextInLine` использует **arr** и **элемент** . Это те тесты, которые будут использоваться для передачи элементов массива, с которыми они будут тестироваться. Это позволяет использовать функцию повторно. Не производите жесткий код любого из тестов внутри функции.
> _попытаться решить проблему сейчас_
## Осторожно, спойлеры!
![предупреждающий знак](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**Решение впереди!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ": Начинающий:") Решение базового кода:
```
function nextInLine(arr, item) {
// Your code here
arr.push(item);
var removed = arr.shift();
return removed; // Change this line
}
```
### Код Объяснение:
* Нажмите **пункт** в конце **обр** .
* Вызовите метод `shift()` на **arr,** чтобы получить первый элемент и сохранить его при **удалении** .
* Возврат **удален** .
**Пример Run**
* Тест `nextInLine([2,1]);` пробеги.
* `nextInLine` функция `nextInLine` . **arr** становится \[2\]. **item** становится 1.
* `arr.push(item);` Выталкивает от 1 до \[2\]. Итак, **arr** теперь \[2,1\].
* `var removed = arr.shift();` удаляет первый элемент. Итак, **arr** теперь \[1\]. 2 был удален и сохранен в **удалении** .
* `return removed;` 2 возвращается.
**_Примечание_** . Фактически вам не требуется, чтобы переменная **удалялась** . `return arr.shift();` элемент можно вернуть напрямую, используя `return arr.shift();` ,

View File

@@ -0,0 +1,17 @@
---
title: Store Multiple Values in one Variable using JavaScript Arrays
localeTitle: Сохранять несколько значений в одной переменной с помощью массивов JavaScript
---
## Сохранять несколько значений в одной переменной с помощью массивов JavaScript
Массивы позволяют хранить множество разных данных в пределах одной переменной. Все, что вам нужно сделать, это поместить данные в массив, разделенные запятыми. Вот так…
```javascript
var arr = ["Code for change", 123];
```
Помните, что массив определяется как ряд вещей. Вы сохраняете разные данные в одной строке (переменной).
Проверьте эту ссылку, если вам нужна дополнительная помощь:
[Массивы JavaScript в школах W3](https://www.w3schools.com/js/js_arrays.asp)

View File

@@ -0,0 +1,15 @@
---
title: Storing Values with the Assignment Operator
localeTitle: Сохранение значений с помощью оператора присваивания
---
## Сохранение значений с помощью оператора присваивания
Это как математика! Вы можете установить переменную в качестве заполнителя для данных, используя оператор присваивания '='. Другими словами, переменная будет хранить данные.
```
var a;
a = 5; // The variable 'a' is equal to 5
var zxcv;
zxcv = 123; // The variable 'abc' is equal to 123
```

View File

@@ -0,0 +1,12 @@
---
title: Subtract One Number from Another with JavaScript
localeTitle: Вычитайте один номер из другого с помощью JavaScript
---
## Вычитайте один номер из другого с помощью JavaScript
Используя оператор вычитания '-', вы можете получить разницу в двух числах ...
```
var diff1 = 30 - 14; // Difference is 16
var diff2 = 90 - 60; // Difference is 30
```

View File

@@ -0,0 +1,64 @@
---
title: Testing Objects for Properties
localeTitle: Тестирование объектов для свойств
---
## Тестирование объектов для свойств
Вот пример:
```javascript
// Setup
var myObj = {
gift: "pony",
pet: "kitten",
bed: "sleigh"
};
function checkObj(checkProp) {
// Your Code Here
return "Change Me!";
}
// Test your code by modifying these values
checkObj("gift");
```
Вот решение:
Мы ничего здесь не меняем:
```javascript
// Setup
var myObj = {
gift: "pony",
pet: "kitten",
bed: "sleigh"
};
```
далее, в теле функции мы используем `.hasOwnProperty(propname)` объектов, чтобы определить, имеет ли этот объект указанное имя свойства. `if/else` с булевыми значениями поможет нам в этом:
```javascript
function checkObj(checkProp) {
// Your Code Here
if (myObj.hasOwnProperty(checkProp) == true) {
return myObj[checkProp];
}
else {
```
and change the value of `return` in `else` statement:
```
Javascript return "Not Found" } }
```
Now, you can change `checkObj` values:
```
Javascript // Проверяем ваш код, изменяя эти значения checkObj ( "подарок");
```
Here's a full solution:
```
Javascript функция checkObj (checkProp) { // Ваш код здесь if (myObj.hasOwnProperty (checkProp) == true) { return myObj \[checkProp\]; } else { return "Not Found" } } // Проверяем ваш код, изменяя эти значения checkObj ( "подарок"); \`\` \`

View File

@@ -0,0 +1,9 @@
---
title: Understand String Immutability
localeTitle: Понять неустойчивость струны
---
## Понять неустойчивость струны
Это заглушка. [Помогите нашему сообществу расширить его](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/basic-javascript/understand-string-immutability/index.md) .
[Это руководство по быстрому стилю поможет вам принять ваш запрос на тягу](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,42 @@
---
title: Understanding Boolean values
localeTitle: Понимание булевых значений
---
## Понимание булевых значений
### Объяснение проблемы:
Измените функцию `welcomeToBooleans` так, чтобы он возвращал `true` вместо `false` при нажатии кнопки запуска.
### Подсказка 1
Вам просто нужно отредактировать строку 5, чтобы функция вернула `true` вместо `false` .
> _попытаться решить проблему сейчас_
## Осторожно, спойлеры!
**Решение впереди!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ": Начинающий:") Базовое решение:
```javascript
function welcomeToBooleans() {
// Only change code below this line.
return true; // Change this line
// Only change code above this line.
}
```
### Обозначение кода
Просто изменив `Boolean` значение, которое вам не будет возвращать функция от `false` до `true` будет соответствовать требованиям.
### Ресурсы
[Глоссарий MDN - Boolean](https://developer.mozilla.org/en-US/docs/Glossary/Boolean)
[Википедия - тип данных Boolean](https://en.wikipedia.org/wiki/Boolean_data_type)

View File

@@ -0,0 +1,14 @@
---
title: Understanding Case Sensitivity in Variables
localeTitle: Понимание чувствительности к регистру в переменных
---
## Понимание чувствительности к регистру в переменных
Популярной нормой программирования является использование **случая Верблюда** при создании имен переменных. Обратите внимание, что первое слово имеет нижний регистр, и каждое следующее слово имеет верхний регистр. Вот некоторые примеры:
```
var camelCase;
var someNumber;
var theBestVariableEver;
var weWillStoreNumbersInThisVariable;
```

View File

@@ -0,0 +1,22 @@
---
title: Understanding Undefined Value returned from a Function
localeTitle: Понимание неопределенного значения, возвращаемого функцией
---
## Понимание неопределенного значения, возвращаемого функцией
Функция без оператора `return` имеет выходной параметр `undefined` . Итак, если вы попытаетесь равным varaible выводить функцию без оператора `return` , эта переменная будет равна `undefined` .
Идите дальше и определите `addFive()` как ...
```javascript
function addFive() {
sum += 5;
}
```
Как вы можете видеть, `sum` добавляется 5 без каких-либо проблем, но поскольку нет оператора возврата, есть `undefined` вывод.
```javascript
var result = addFive(); // This is undefined
```

View File

@@ -0,0 +1,7 @@
---
title: Understanding Uninitialized Variables
localeTitle: Понимание неинициализированных переменных
---
## Понимание неинициализированных переменных
Убедитесь, что переменная имеет правильное значение данных. Если оставить переменную неинициализированной, то есть вы не придадите ей значения, это может вызвать проблемы, если вы хотите выполнять операции над ней.

View File

@@ -0,0 +1,28 @@
---
title: Updating Object Properties
localeTitle: Обновление свойств объекта
---
## Обновление свойств объекта
## Подсказка:
Используйте точку \*\*. \*\* для доступа к объекту.
## Предупреждение о спойлере: решение впереди!
## Решение:
```javascript
// Setup
var myDog = {
"name": "Coder",
"legs": 4,
"tails": 1,
"friends": ["freeCodeCamp Campers"]
};
// Only change code below this line.
myDog.name = "Happy Coder"; // Solution
```

View File

@@ -0,0 +1,12 @@
---
title: Use Bracket Notation to Find the First Character in a String
localeTitle: Используйте условное обозначение скобки для поиска первого символа в строке
---
## Используйте условное обозначение скобки для поиска первого символа в строке
Помните, что первый символ строки находится в нулевой позиции. Например:
```
var str = "Hello";
var letter = str[0]; // This equals "H"
```

View File

@@ -0,0 +1,19 @@
---
title: Use Bracket Notation to Find the Last Character in a String
localeTitle: Использовать обозначение скобки для поиска последнего символа в строке
---
## Использовать обозначение скобки для поиска последнего символа в строке
Рассмотрим следующую строку:
```
var str = "Coding";
```
Эта строка имеет длину 6 символов, поэтому, если вы используете .length в строке, она даст вам 6. Но помните, что первый символ находится в нулевой позиции. Второй символ находится в первой позиции. Третий символ находится на второй позиции.
Продолжайте движение, и в конце концов вы получите, что шестой символ (который, основываясь на приведенной выше строке, равен «g»), находится на пятой позиции. Вот почему вы получаете последний символ строки, с:
```
var lastChar = str[str.length - 1]; // This is 6 - 1, which is 5
```
Это будет «g».

View File

@@ -0,0 +1,7 @@
---
title: Use Bracket Notation to Find the Nth Character in a String
localeTitle: Использовать обозначения скобок для поиска N-го символа в строке
---
## Использовать обозначения скобок для поиска N-го символа в строке
Помните, что первый символ строки находится на 0-й позиции. Таким образом, второй символ должен быть на 1-й позиции. Тогда третий символ, должен быть в ... хммм?

View File

@@ -0,0 +1,13 @@
---
title: Use Bracket Notation to Find the Nth-to-Last Character in a String
localeTitle: Используйте условное обозначение скобки для поиска символа Nth-to-Last в строке
---
## Используйте условное обозначение скобки для поиска символа Nth-to-Last в строке
Помните, что позиция любого символа - это **длина строки, минус единица, минус количество символов после нее** . Например, если вы пытаетесь найти третий-последний символ следующей строки:
```
var str = "Programming";
var secondToLastChar = str[str.length - 2]; // This is 'i'
```
Как вы можете видеть, после «n» (и это «g») есть один дополнительный символ.

Some files were not shown because too many files have changed in this diff Show More