Array.prototype.reduce()
или просто reduce()
, является наиболее общей из всех операций с массивами в JavaScript. Вы можете решить практически любую проблему обработки массива с помощью метода reduce
. Это не относится к методам filter
и map
поскольку они не позволяют взаимодействовать между двумя различными элементами массива. Например, если вы хотите сравнить элементы массива или добавить их вместе, filter
или map
не смогут обработать это. Метод reduce
позволяет использовать более общие формы обработки массивов, и можно показать, что как filter
и map
могут быть получены как специальное приложение reduce
. Однако, прежде чем мы доберемся туда, давайте сначала будем использовать reduce
. Array.prototype.reduce()
или просто reduce()
, является наиболее общей из всех операций с массивами в JavaScript. Вы можете решить практически любую проблему обработки массива с помощью метода reduce
. Это не относится к методам filter
и map
поскольку они не позволяют взаимодействовать между двумя различными элементами массива. Например, если вы хотите сравнить элементы массива или добавить их вместе, filter
или map
не смогут обработать это. Метод reduce
позволяет использовать более общие формы обработки массивов, и можно показать, что как filter
, так и map
могут быть реализованы через reduce
. Однако, прежде чем мы перейдем к этому, давайте сначала научимся использовать reduce
. watchList
содержит массив объектов с информацией о нескольких фильмах. Используйте reduce
чтобы найти средний рейтинг IMDB фильмов режиссера Кристофера Нолана . Вспомните предыдущие проблемы, как filter
данные и map
их, чтобы вытащить то, что вам нужно. Возможно, вам придется создавать другие переменные, но сохранить окончательное среднее значение в переменной averageRating
. Обратите внимание, что значения рейтинга сохраняются как строки в объекте и должны быть преобразованы в числа, прежде чем они будут использоваться в любых математических операциях. watchList
содержит массив объектов с информацией о нескольких фильмах. Используйте reduce
чтобы найти средний рейтинг IMDB фильмов режиссера Кристофера Нолана. Вспомните предыдущие задачи, как применять к данным filter
и map
, чтобы вытащить то, что вам нужно. Возможно, вам придется создавать другие переменные, но сохранить окончательное среднее значение в переменной averageRating
. Обратите внимание, что значения рейтинга сохраняются как строки в объекте и должны быть преобразованы в числа, прежде чем они будут использоваться в любых математических операциях. watchList
не должна изменяться.
testString: 'assert(watchList[0].Title === "Inception" && watchList[4].Director == "James Cameron", "The watchList
variable should not change.");'
- - text: Ваш код должен использовать метод reduce
.
+ - text: Ваш код должен использовать метод reduce
.
testString: 'assert(code.match(/\.reduce/g), "Your code should use the reduce
method.");'
- text: averageRating
должно равняться 8.675.
testString: 'assert(averageRating == 8.675, "The averageRating
should equal 8.675.");'
- - text: Ваш код не должен использовать цикл for
.
+ - text: Ваш код не должен использовать цикл for
.
testString: 'assert(!code.match(/for\s*?\(.*\)/g), "Your code should not use a for
loop.");'
```