Создайте функцию compareArrays(arr1, arr2)
, которая с помощью функции высшего порядка будет сравнивать значения двух массивов. Если массивы имеют одинаковые значения на одинаковых индексах, compareArrays
должна выдавать true
(иначе false
). Используйте метод every
для сравнения элементов одного массива с соответствующими элементами другого массива.
Пример вызова:
compareArrays([8, 9], [6]) // false, разные значения
compareArrays([8, 9, 5, 4], [8, 9, 5, 4, 8, 3, 5]) // false, разные значения
compareArrays([9, 2, 4, 8, 2], [9, 2, 4]) // false, разные значения
compareArrays([1, 2, 3], [2, 3, 1]) // false, разные индексы, хотя и одинаковые значения
compareArrays([8, 1, 2], [8, 1, 2]) // true
Создайте функцию getUsersNamesInAgeRange(users, gender)
, которая возвращает среднее значение возраста пользователей одного пола.
- Используйте метод
filter
для получения нужных пользователей. - Используйте метод
map
для получения их возрастов, или сразу формируйте среднее значение вreduce
. - Используйте метод
reduce
для формирования среднего значения возраста.
let result = arr.filter(...).map(...).reduce(...)
Пример вызова:
const people = [
{firstName: "Александр", secondName: "Карпов", age: 17, gender: "мужской"},
{firstName: "Егор", secondName: "Морозов", age: 21, gender: "мужской"},
{firstName: "Мелисса", secondName: "Леонова", age: 40, gender: "женский"},
{firstName: "Мелания", secondName: "Савельева", age: 37, gender: "женский"},
{firstName: "Мария", secondName: "Овчинникова", age: 18, gender: "женский"},
{firstName: "Марьяна", secondName: "Котова", age: 17, gender: "женский"},
{firstName: "Фёдор", secondName: "Селезнев", age: 50, gender: "мужской"},
{firstName: "Георгий", secondName: "Петров", age: 35, gender: "мужской"},
{firstName: "Даниил", secondName: "Андреев", age: 49, gender: "мужской"},
{firstName: "Дарья", secondName: "Савельева", age: 25, gender: "женский"},
{firstName: "Михаил", secondName: "Шаров", age: 22, gender: "мужской"},
{firstName: "Владислав", secondName: "Давыдов", age: 40, gender: "мужской"},
{firstName: "Илья", secondName: "Казаков", age: 35, gender: "мужской"},
{firstName: "Евгений", secondName: "Кузьмин", age: 19, gender: "мужской"},
]
console.log(getUsersNamesInAgeRange(people, "мужской")); // 32
console.log(getUsersNamesInAgeRange(people, "женский")); // 27.4
console.log(getUsersNamesInAgeRange([], "женский")); // 0
console.log(getUsersNamesInAgeRange(people, "инопланетянин")); // 0
- Все тесты успешно выполняются.
- Соблюдается кодстайл.
- Решение загружено в форкнутый репозиторий GitHub.
- Решение опубликовано в GitHub Pages.
- Откройте файл
task.js
в вашем редакторе кода и выполните задание. - Проверьте соблюдение кодстайла. Форматируйте ваш код через форматтер https://codebeautify.org/jsviewer.
- Добавьте файл
task.js
в индексgit
с помощью командыgit add %file-path%
, где%file-path%
— путь до целевого файлаgit add ./3.arrays/task.js
. - Сделайте коммит, используя команду
git commit -m '%comment%'
, где%comment%
— это произвольный комментарий к вашему коммитуgit commit -m 'Третье задание полностью готово'
. - Опубликуйте код в репозиторий
homeworks
с помощью командыgit push -u origin main
. - На проверку пришлите 2 ссылки. На файл с решением (
task.js
) и на страницу GitHub Pages — страницу с автотестами:https://%USERNAME%.github.io/bjs-2-homeworks/3.arrays
.
Никакие файлы прикреплять не нужно.
Все задачи обязательны к выполнению для получения зачёта. Можете прислать на проверку как каждую задачу по отдельности, так и все задачи вместе. Во время проверки по частям у вашей домашней работы будет статус «На доработке».
Любые вопросы по решению задач задавайте в чате учебной группы.