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,29 @@
---
title: Add Elements to the End of an Array Using concat Instead of push
localeTitle: Добавление элементов в конец массива Использование concat Вместо push
---
## Добавление элементов в конец массива Использование concat Вместо push
Если метод `push` добавляет новый элемент в конец исходного массива, метод `concat` создает новый массив, содержащий элементы из исходного массива и нового элемента. При использовании `concat` исходный массив остается неизменным.
#### Полезные ссылки:
* [Array.prototype.concat ()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat)
## Решение
```javascript
function nonMutatingPush(original, newItem) {
// Add your code below this line
return original.concat(newItem);
// Add your code above this line
}
var first = [1, 2, 3];
var second = [4, 5];
nonMutatingPush(first, second);
```

View File

@@ -0,0 +1,39 @@
---
title: Apply Functional Programming to Convert Strings to URL Slugs
localeTitle: Применить функциональное программирование для преобразования строк в URL-адреса
---
## Применить функциональное программирование для преобразования строк в URL-адреса
### Решение
```javascript
// the global variable
var globalTitle = "Winter Is Coming";
// Add your code below this line
function urlSlug(title) {
return title.split(/\W/).filter((obj)=>{
return obj !=='';
}).join('-').toLowerCase();
}
// Add your code above this line
var winterComing = urlSlug(globalTitle); // Should be "winter-is-coming"
```
### Альтернативное решение
```javascript
// the global variable
var globalTitle = "Winter Is Coming";
// Add your code below this line
function urlSlug(title) {
return title.toLowerCase().trim().split(/\s+/).join('-');
}
// Add your code above this line
var winterComing = urlSlug(globalTitle); // Should be "winter-is-coming"
```

View File

@@ -0,0 +1,31 @@
---
title: Avoid Mutations and Side Effects Using Functional Programming
localeTitle: Избегайте мутаций и побочных эффектов с помощью функционального программирования
---
## Избегайте мутаций и побочных эффектов с помощью функционального программирования
### Проблема Объяснение
Заполните код для `incrementer` функции, чтобы он возвращал значение глобальной переменной `fixedValue` увеличиваемое на единицу. `fixedValue` не должен меняться, независимо от того, сколько раз `incrememter` функция `incrememter` .
### Подсказка 1
Использование оператора increment ( `++` ) на `fixedValue` будет мутировать `fixedValue` , что означает, что он больше не будет ссылаться на то же значение, которому он был назначен.
### Решение:
```javascript
// the global variable
var fixedValue = 4;
function incrementer () {
// Add your code below this line
return fixedValue + 1;
// Add your code above this line
}
var newValue = incrementer(); // Should equal 5
console.log(fixedValue); // Should print 4
```

View File

@@ -0,0 +1,35 @@
---
title: Combine an Array into a String Using the join Method
localeTitle: Объединение массива в строку Использование метода объединения
---
## Объединение массива в строку Использование метода объединения
### Проблема Объяснение
Используйте метод `join` (среди других) внутри функции `sentensify` чтобы сделать предложение из слов в строке `str` . Функция должна возвращать строку. Например, «I-like-Star-Wars» будет преобразован в «Мне нравятся« Звездные войны ». Для этой задачи не используйте метод `replace` .
#### Полезные ссылки:
* [Array.prototype.join ()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join)
* [String.prototype.split ()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split)
* [Регулярные выражения](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions)
### Hint1
Возможно, вам придется сначала преобразовать строку в массив.
### Hint2
Возможно, вам придется использовать регулярное выражение для разделения строки.
### Решение:
```javascript
function sentensify(str) {
// Add your code below this line
return str.split(/\W/).join(' ');
// Add your code above this line
}
sentensify("May-the-force-be-with-you");
```

View File

@@ -0,0 +1,24 @@
---
title: Combine Two Arrays Using the concat Method
localeTitle: Объединить два массива с помощью метода concat
---
## Объединить два массива с помощью метода concat
* Метод concat используется для объединения двух или более массивов или строк.
* Этот метод не мутирует существующие массивы, а возвращает новый массив.
## Решение
```javascript
function nonMutatingConcat(original, attach) {
// Add your code below this line
return original.concat(attach);
// Add your code above this line
}
var first = [1, 2, 3];
var second = [4, 5];
nonMutatingConcat(first, second);
```

View File

@@ -0,0 +1,34 @@
---
title: Implement map on a Prototype
localeTitle: Реализовать карту на прототипе
---
## Реализовать карту на прототипе
Чтобы решить эту проблему с помощью ключевого слова, это ключ.
Это даст нам доступ к объекту, который мы вызываем myMap.
Оттуда мы можем использовать цикл forEach или for для добавления элементов в уже объявленный пустой массив, когда мы модифицируем каждый элемент с помощью данного метода обратного вызова.
```javascript
// the global Array
var s = [23, 65, 98, 5];
Array.prototype.myMap = function(callback){
var newArray = [];
// Add your code below this line
this.forEach(a => newArray.push(callback(a)));
// Add your code above this line
return newArray;
};
var new_s = s.myMap(function(item){
return item * 2;
});
```
### Полезные ссылки
[этот. Javascript MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this)
[этот. Javascript W3Schools](https://www.w3schools.com/js/js_this.asp)

View File

@@ -0,0 +1,45 @@
---
title: Implement the filter Method on a Prototype
localeTitle: Внедрить фильтр на прототипе
---
## Внедрить фильтр на прототипе
```javascript
// the global Array
var s = [23, 65, 98, 5];
Array.prototype.myFilter = function(callback){
var newArray = [];
// Add your code below this line
this.forEach(function(x) {
if (callback(x) == true) {
newArray.push(x);
}
})
// Add your code above this line
return newArray;
};
```
## Другое решение, используемое для looop!
```javascript
Array.prototype.myFilter = function(callback){
var newArray = [];
// Add your code below this line
for (let i=0; i<this.length;i++){
if(callback(this[i])=== true ){
newArray.push(this[i]);
}
}
// Add your code above this line
return newArray;
};
var new_s = s.myFilter(function(item){
return item % 2 === 1;
});
```

View File

@@ -0,0 +1,11 @@
---
title: Functional Programming
localeTitle: Функциональное программирование
---
## Функциональное программирование
Это заглушка. [Помогите нашему сообществу расширить его](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,21 @@
---
title: Introduction to Currying and Partial Application
localeTitle: Введение в каррирование и частичное применение
---
## Введение в каррирование и частичное применение
### Решение
```javascript
function add(x) {
// Add your code below this line
return function(y) {
return function(z) {
return x + y + z;
}
}
// Add your code above this line
}
add(10)(20)(30);
```

View File

@@ -0,0 +1,48 @@
---
title: Learn About Functional Programming
localeTitle: Узнайте о функциональном программировании
---
## Узнайте о функциональном программировании
Функция имеет вход или параметр `const myFunc = (input) => { ...code to execute... }` . В этом случае ввод - сколько чашек чая должно быть создано.
### метод
Чтобы передать этот вызов, необходимо изменить только одну строку кода. Функция `getTea()` должна вызываться и храниться в переменной `tea4TeamFCC` . Обязательно прочитайте `getTea()` и точно поймите, что она делает. Функция принимает одну переменную - `numOfCups` . `teaCups[]` массив `teaCups[]` и цикл for настроен на подсчет количества чашек, переданных в функцию. Новая чашка чая затем подталкивается к массиву через каждую итерацию цикла for.
Таким образом, получается массив, полный количества чашек, первоначально переданных в `getTea()` .
### Решение
```javascript
/**
* A long process to prepare tea.
* @return {string} A cup of tea.
**/
const prepareTea = () => 'greenTea';
/**
* Get given number of cups of tea.
* @param {number} numOfCups Number of required cups of tea.
* @return {Array<string>} Given amount of tea cups.
**/
const getTea = (numOfCups) => {
const teaCups = [];
for(let cups = 1; cups <= numOfCups; cups += 1) {
const teaCup = prepareTea();
teaCups.push(teaCup);
}
return teaCups;
};
// Add your code below this line
const tea4TeamFCC = getTea(40); // :(
// Add your code above this line
console.log(tea4TeamFCC);
```

View File

@@ -0,0 +1,32 @@
---
title: Pass Arguments to Avoid External Dependence in a Function
localeTitle: Пропустить аргументы, чтобы избежать внешней зависимости в функции
---
## Пропустить аргументы, чтобы избежать внешней зависимости в функции
## Подсказка: 1
Попробуйте передать аргумент функции и вернуть увеличенное значение этого аргумента.
**Решение впереди!**
## Решение базового кода:
```javascript
// the global variable
var fixedValue = 4;
// Add your code below this line
function incrementer (value) {
return value + 1;
// Add your code above this line
}
var newValue = incrementer(fixedValue); // Should equal 5
console.log(fixedValue); // Should print 4
```
### метод
Этот код даст тот же результат, что и последний вызов, только в этот раз мы передадим `fixedValue` в функцию в качестве параметра.

View File

@@ -0,0 +1,46 @@
---
title: Refactor Global Variables Out of Functions
localeTitle: Глобальные переменные Refactor вне функций
---
## Глобальные переменные Refactor вне функций
* Если у вас возникли проблемы с изменением bookList, попробуйте использовать копию массива в ваших функциях.
* Вот еще несколько сведений о том, как \[JavaScript обрабатывает аргументы функции\] (https://codeburst.io/javascript-passing-by-value-vs- reference-explain-in-plain-english-8d00fd06a47c).
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ": Начинающий:") Решение базового кода:
## Решение 1
```javascript
function add (arr, bookName) {
let newArr = [...arr]; // Copy the bookList array to a new array.
newArr.push(bookName); // Add bookName parameter to the end of the new array.
return newArr; // Return the new array.
}
function remove (arr, bookName) {
let newArr = [...arr]; // Copy the bookList array to a new array.
if (newArr.indexOf(bookName) >= 0) { // Check whether the bookName parameter is in new array.
/.
newArr.splice(newArr.indexOf(bookName), 1); // Remove the given paramater from the new array.
return newArr; // Return the new array.
}
}
```
## Решение 2
```javascript
function add (list,bookName) {
return [...list, bookName];
}
function remove (list,bookName) {
if (list.indexOf(bookName) >= 0) {
return list.filter((item) => item !== bookName);
}
}
```

View File

@@ -0,0 +1,24 @@
---
title: Remove Elements from an Array Using slice Instead of splice
localeTitle: Удаление элементов из массива Использование среза Вместо сращивания
---
## Удаление элементов из массива Использование среза Вместо сращивания
* Разница между методом сплайсинга и среза заключается в том, что метод среза не мутирует исходный массив, а возвращает новый.
* Метод slice принимает два двух аргумента для начала индексирования и завершения среза (конец не включен).
* Если вы не хотите мутировать исходный массив, вы можете использовать метод среза.
## Решение
```javascript
function nonMutatingSplice(cities) {
// Add your code below this line
return cities.slice(0, 3);
// Add your code above this line
}
var inputCities = ["Chicago", "Delhi", "Islamabad", "London", "Berlin"];
nonMutatingSplice(inputCities);
```

View File

@@ -0,0 +1,24 @@
---
title: Return a Sorted Array Without Changing the Original Array
localeTitle: Возвращает отсортированный массив без изменения исходного массива
---
## Возвращает отсортированный массив без изменения исходного массива
### метод
Сначала соедините массив, взятый в качестве параметра, в новый пустой массив. Затем используйте метод `sort()` как показано в последнем вызове, и создайте функцию для сортировки нового массива в порядке возрастания.
### Решение
```javascript
var globalArray = [5, 6, 3, 2, 9];
function nonMutatingSort(arr) {
// Add your code below this line
return [].concat(arr).sort(function(a, b) {
return a - b;
});
// Add your code above this line
}
nonMutatingSort(globalArray);
```

View File

@@ -0,0 +1,34 @@
---
title: Return Part of an Array Using the slice Method
localeTitle: Возвращаемая часть массива Использование метода среза
---
## Возвращаемая часть массива Использование метода среза
### Проблема Объяснение
Используйте метод slice в функции sliceArray, чтобы вернуть часть массива анимации, учитывая предоставленные индексы beginSlice и endSlice. Функция должна возвращать массив.
### метод
Функция может быть записана путем простого написания одной строки кода - оператора return. Как и в приведенном примере, отрежьте массив, который функция принимает в качестве параметра, используя параметры `beginSlice` и `endSlice` качестве параметров для метода `slice()` . Вспомните структуру метода `slice()` :
```javascript
var arr = ["Cat", "Dog", "Tiger", "Zebra", "Ant"];
arr.slice([index-to-begin-slice] , [index-to-end-slice]);
```
### Решение
```javascript
function sliceArray(anim, beginSlice, endSlice) {
// Add your code below this line
return anim.slice(beginSlice, endSlice);
// Add your code above this line
}
var inputAnim = ["Cat", "Dog", "Tiger", "Zebra", "Ant"];
sliceArray(inputAnim, 1, 3);
```
#### Полезные ссылки:
* [Array.prototype.slice ()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice)

View File

@@ -0,0 +1,35 @@
---
title: Sort an Array Alphabetically using the sort Method
localeTitle: Сортировка массива по алфавиту с помощью метода сортировки
---
## Сортировка массива по алфавиту с помощью метода сортировки
### метод
В приведенном примере мы видим, как написать функцию, которая вернет новый массив в обратном алфавитном порядке.
```javascript
function reverseAlpha(arr) {
return arr.sort(function(a, b) {
return a < b;
});
}
reverseAlpha(['l', 'h', 'z', 'b', 's']);
// Returns ['z', 's', 'l', 'h', 'b']
```
Используя эту логику, просто перепроектируйте функцию, чтобы вернуть новый массив в алфавитном порядке.
### Решение
```javascript
function alphabeticalOrder(arr) {
// Add your code below this line
return arr.sort(function(a,b) {
return a > b;
});
// Add your code above this line
}
alphabeticalOrder(["a", "d", "c", "a", "z", "g"]);
```

View File

@@ -0,0 +1,23 @@
---
title: Split a String into an Array Using the split Method
localeTitle: Разбить строку на массив Используя метод split
---
## Разбить строку на массив Используя метод split
### метод
Просто разделите строку, чтобы создать новый массив слов.
Для достижения этого результата можно использовать простое регулярное выражение.
### Решение
```javascript
function splitify(str) {
// Add your code below this line
return str.split(/\W/);
// Add your code above this line
}
splitify("Hello World,I-am code");
```

View File

@@ -0,0 +1,51 @@
---
title: Understand Functional Programming Terminology
localeTitle: Понять терминологию функционального программирования
---
## Понять терминологию функционального программирования
### метод
Как и в последнем вызове, вы должны вызвать метод `getTea` и сохранить его в переменной. Только на этот раз у вас есть 2 переменных для хранения 2 отдельных наборов данных. Вы увидите, что `getTea()` такая же, как и раньше, только теперь она принимает 2 отдельных параметра. Первый параметр - это функция, поэтому нам нужно передать либо `prepareGreenTea()` либо функцию `prepareBlackTea()` , за которой следует второй параметр `numOfCups` который может быть `numOfCups` как целое число.
### Решение
В этом упражнении мы назначаем результат функции более высокого порядка для переменных. Для этого мы вызываем функцию с функцией обратного вызова в качестве параметра.
## Подсказка:
`javascript const basketOne = makeBasket(addFruit, 10)`
\## Решение:
\`\` \`Javascript
/ \*\*
* Длительный процесс приготовления зеленого чая.
* @return {string} Чашка зеленого чая. \*\* / const prepareGreenTea = () => 'greenTea';
/ \*\*
* Получите заданное количество чашек чая.
* @param {function (): string} prepareTea Тип функции приготовления чая.
* @param {number} numOfCups Количество необходимых чашек чая.
* @return {Array } Количество чайных чашек. \*\* / const getTea = (prepareTea, numOfCups) => { const teaCups = \[\];
для (пусть cups = 1; cups <= numOfCups; чашки + = 1) { const teaCup = prepareTea (); teaCups.push (Teacup); }
return teaCups; };
// Добавьте код ниже этой строки const tea4GreenTeamFCC = getTea (prepareGreenTea, 27); // :) const tea4BlackTeamFCC = getTea (prepareBlackTea, 13); // :) // Добавьте код выше этой строки
console.log ( tea4GreenTeamFCC, tea4BlackTeamFCC );
\`\` \`
## Обозначение кода:
В вышеприведенном решении мы передали функции `prepareGreenTea()` и `prepareBlackTea()` качестве параметров или функций обратного вызова для функций `getTea()` , назначаемых нашим двум постоянным переменным `tea4BlackTeamFCC` и `tea4GreenTeamFCC` . Таким образом, глобальные переменные не изменяются, и мы можем добавить неограниченное количество различных вариантов методов `prepareTea()` поскольку это функция обратного вызова, передаваемая функции `getTea()` порядка `getTea()` .

View File

@@ -0,0 +1,9 @@
---
title: Understand the Hazards of Using Imperative Code
localeTitle: Понимание опасностей использования императивного кода
---
## Понимание опасностей использования императивного кода
Это заглушка. [Помогите нашему сообществу расширить его](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/functional-programming/understand-the-hazards-of-using-imperative-code/index.md) .
[Это руководство по быстрому стилю поможет вам принять ваш запрос на тягу](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,43 @@
---
title: Use the every Method to Check that Every Element in an Array Meets a Criteria
localeTitle: Используйте каждый метод для проверки того, что каждый элемент в массиве соответствует критерию
---
## Используйте каждый метод для проверки того, что каждый элемент в массиве соответствует критерию
### Проблема Объяснение:
Используйте `every` метод внутри функции `checkPositive` чтобы проверить, является ли каждый элемент в `arr` положительным. Функция должна возвращать логическое значение.
#### Полезные ссылки:
* [Array.prototype.every ()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every)
### намек
Не забудьте `return` .
## Решение
```javascript
function checkPositive(arr) {
// Add your code below this line
return arr.every(val => val > 0);
// Add your code above this line
}
checkPositive([1, 2, 3, -4, 5]);
```
## Альтернативное решение
```javascript
function checkPositive(arr) {
// Add your code below this line
return arr.every(function(value) {
return value > 0;
});
// Add your code above this line
}
checkPositive([1, 2, 3, -4, 5]);
```

View File

@@ -0,0 +1,22 @@
---
title: Use the filter method to extract data from an array
localeTitle: Используйте метод фильтра для извлечения данных из массива
---
## Используйте метод фильтра для извлечения данных из массива
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 1
Этот вызов решается в 2 этапа. Во-первых, Array.prototype.filter используется для фильтрации массива, поэтому его оставляют элементы с imdbRating> 8.0. После этого Array.prototype.map можно использовать для формирования вывода в желаемом формате.
### Решение
```javascript
// Add your code below this line
var filteredList = watchList.map(function(e) {
return {title: e["Title"], rating: e["imdbRating"]}
}).filter((e) => e.rating >= 8);
console.log(filteredList);
```

View File

@@ -0,0 +1,27 @@
---
title: Use the map Method to Extract Data from an Array
localeTitle: Используйте метод «Карта» для извлечения данных из массива
---
## Используйте метод «Карта» для извлечения данных из массива
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": Speech_balloon:") Подсказка: 1
array.prototype.map выполняет функцию как входную и возвращает массив. Возвращенный массив включает элементы, которые обрабатываются функцией. Эта функция принимает отдельные элементы в качестве входных данных.
## Осторожно, спойлеры!
![предупреждающий знак](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**Решение впереди!**
## ![:rotating_light:](https://forum.freecodecamp.com/images/emoji/emoji_one/rotating_light.png?v=3 ": Rotating_light:") Решение промежуточного кода:
```javascript
rating = watchList.map( (item) => ({"title":item["Title"], "rating":item["imdbRating"]}) );
```
\### Код Объяснение: Используя нотацию ES6, каждый элемент массива обрабатывается для извлечения заголовка и рейтинга. Для возврата объекта необходимы скобки.
#### Связанные ссылки
* [Функции стрелки](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions)

View File

@@ -0,0 +1,130 @@
---
title: Use the reduce Method to Analyze Data
localeTitle: Используйте метод уменьшения для анализа данных
---
## Используйте метод уменьшения для анализа данных
```javascript
// the global variable
var watchList = [
{
"Title": "Inception",
"Year": "2010",
"Rated": "PG-13",
"Released": "16 Jul 2010",
"Runtime": "148 min",
"Genre": "Action, Adventure, Crime",
"Director": "Christopher Nolan",
"Writer": "Christopher Nolan",
"Actors": "Leonardo DiCaprio, Joseph Gordon-Levitt, Ellen Page, Tom Hardy",
"Plot": "A thief, who steals corporate secrets through use of dream-sharing technology, is given the inverse task of planting an idea into the mind of a CEO.",
"Language": "English, Japanese, French",
"Country": "USA, UK",
"Awards": "Won 4 Oscars. Another 143 wins & 198 nominations.",
"Poster": "http://ia.media-imdb.com/images/M/MV5BMjAxMzY3NjcxNF5BMl5BanBnXkFtZTcwNTI5OTM0Mw@@._V1_SX300.jpg",
"Metascore": "74",
"imdbRating": "8.8",
"imdbVotes": "1,446,708",
"imdbID": "tt1375666",
"Type": "movie",
"Response": "True"
},
{
"Title": "Interstellar",
"Year": "2014",
"Rated": "PG-13",
"Released": "07 Nov 2014",
"Runtime": "169 min",
"Genre": "Adventure, Drama, Sci-Fi",
"Director": "Christopher Nolan",
"Writer": "Jonathan Nolan, Christopher Nolan",
"Actors": "Ellen Burstyn, Matthew McConaughey, Mackenzie Foy, John Lithgow",
"Plot": "A team of explorers travel through a wormhole in space in an attempt to ensure humanity's survival.",
"Language": "English",
"Country": "USA, UK",
"Awards": "Won 1 Oscar. Another 39 wins & 132 nominations.",
"Poster": "http://ia.media-imdb.com/images/M/MV5BMjIxNTU4MzY4MF5BMl5BanBnXkFtZTgwMzM4ODI3MjE@._V1_SX300.jpg",
"Metascore": "74",
"imdbRating": "8.6",
"imdbVotes": "910,366",
"imdbID": "tt0816692",
"Type": "movie",
"Response": "True"
},
{
"Title": "The Dark Knight",
"Year": "2008",
"Rated": "PG-13",
"Released": "18 Jul 2008",
"Runtime": "152 min",
"Genre": "Action, Adventure, Crime",
"Director": "Christopher Nolan",
"Writer": "Jonathan Nolan (screenplay), Christopher Nolan (screenplay), Christopher Nolan (story), David S. Goyer (story), Bob Kane (characters)",
"Actors": "Christian Bale, Heath Ledger, Aaron Eckhart, Michael Caine",
"Plot": "When the menace known as the Joker wreaks havoc and chaos on the people of Gotham, the caped crusader must come to terms with one of the greatest psychological tests of his ability to fight injustice.",
"Language": "English, Mandarin",
"Country": "USA, UK",
"Awards": "Won 2 Oscars. Another 146 wins & 142 nominations.",
"Poster": "http://ia.media-imdb.com/images/M/MV5BMTMxNTMwODM0NF5BMl5BanBnXkFtZTcwODAyMTk2Mw@@._V1_SX300.jpg",
"Metascore": "82",
"imdbRating": "9.0",
"imdbVotes": "1,652,832",
"imdbID": "tt0468569",
"Type": "movie",
"Response": "True"
},
{
"Title": "Batman Begins",
"Year": "2005",
"Rated": "PG-13",
"Released": "15 Jun 2005",
"Runtime": "140 min",
"Genre": "Action, Adventure",
"Director": "Christopher Nolan",
"Writer": "Bob Kane (characters), David S. Goyer (story), Christopher Nolan (screenplay), David S. Goyer (screenplay)",
"Actors": "Christian Bale, Michael Caine, Liam Neeson, Katie Holmes",
"Plot": "After training with his mentor, Batman begins his fight to free crime-ridden Gotham City from the corruption that Scarecrow and the League of Shadows have cast upon it.",
"Language": "English, Urdu, Mandarin",
"Country": "USA, UK",
"Awards": "Nominated for 1 Oscar. Another 15 wins & 66 nominations.",
"Poster": "http://ia.media-imdb.com/images/M/MV5BNTM3OTc0MzM2OV5BMl5BanBnXkFtZTYwNzUwMTI3._V1_SX300.jpg",
"Metascore": "70",
"imdbRating": "8.3",
"imdbVotes": "972,584",
"imdbID": "tt0372784",
"Type": "movie",
"Response": "True"
},
{
"Title": "Avatar",
"Year": "2009",
"Rated": "PG-13",
"Released": "18 Dec 2009",
"Runtime": "162 min",
"Genre": "Action, Adventure, Fantasy",
"Director": "James Cameron",
"Writer": "James Cameron",
"Actors": "Sam Worthington, Zoe Saldana, Sigourney Weaver, Stephen Lang",
"Plot": "A paraplegic marine dispatched to the moon Pandora on a unique mission becomes torn between following his orders and protecting the world he feels is his home.",
"Language": "English, Spanish",
"Country": "USA, UK",
"Awards": "Won 3 Oscars. Another 80 wins & 121 nominations.",
"Poster": "http://ia.media-imdb.com/images/M/MV5BMTYwOTEwNjAzMl5BMl5BanBnXkFtZTcwODc5MTUwMw@@._V1_SX300.jpg",
"Metascore": "83",
"imdbRating": "7.9",
"imdbVotes": "876,575",
"imdbID": "tt0499549",
"Type": "movie",
"Response": "True"
}
];
// Add your code below this line
var averageRating = watchList.filter(x => x.Director === "Christopher Nolan").map(x => Number(x.imdbRating)).reduce((x1, x2) => x1 + x2) / watchList.filter(x => x.Director === "Christopher Nolan").length;
// Add your code above this line
console.log(averageRating);
```

View File

@@ -0,0 +1,23 @@
---
title: Use the some Method to Check that Any Elements in an Array Meet a Criteria
localeTitle: Используйте некоторый метод для проверки того, что любые элементы в массиве соответствуют критериям
---
## Используйте некоторый метод для проверки того, что любые элементы в массиве соответствуют критериям
### Проблема Объяснение
Используйте некоторый метод внутри функции checkPositive, чтобы проверить, является ли какой-либо элемент в arr положительным. Функция `checkPositive` должна возвращать логическое значение.
#### Полезные ссылки:
* [Array.prototype.some ()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some)
### Решение:
```javascript
function checkPositive(arr) {
return arr.some((elem) => elem > 0);
}
checkPositive([1, 2, 3, -4, 5]);
```