JAVA SCRIPT
Перша партія роботів готова, тепер їх треба перевірити. Усі роботи унікальні, і швидкість руху в кожного своя. У цьому завданні тобі потрібно знайти найменшу, найбільшу та середню швидкості роботів.
Напиши функцію getSpeedStatistic, яка приймає масив швидкостей роботів testResults і повертає статистику у вигляді масиву, у якому:
перший елемент — найменша швидкість;
другий елемент — найбільша швидкість;
третій елемент — середнє значення, округлене вниз (використай Math.floor).
Зверни увагу: якщо вхідний масив швидкостей порожній — поверни масив [0, 0, 0].
Наприклад:
getSpeedStatistic([]); // [0, 0, 0]
getSpeedStatistic([10]); // [10, 10, 10]
getSpeedStatistic([8, 9, 3, 12]); // [3, 12, 8]
getSpeedStatistic([10, 10, 11, 9, 12, 8]); // [8, 12, 10]
Розділи теорії Вибір елементу за критерієм та Середнє значення елементів масиву допоможуть тобі виконати це завдання.
❗❗ Підказка
Якщо масив швидкостей порожній, одразу поверни [0, 0, 0].
Створи змінні max та min і запиши в кожну перший елемент масиву.
Створи зміннy sum зі значенням 0.
Виконай перебір елементів масиву.
На кожній ітерації:
якщо поточний елемент більший за max, то збережи його у max;
якщо ж елемент менший за min, то збережий його у min;
додавай поточний елемент до sum;
Після перебору обчисли значення average (і округли його вниз).
Поверни масив з min, max та average
Ответы
const getSpeedStatistic = (arr) => {
// Перевіряємо чи пустий масив
if (arr.length == 0) return [0, 0, 0]
else {
// Получаємо максимальні та мінімальні значення масиву завдяки копіюванню масиву
let maxArrItem = Math.max(...arr);
let minArrItem = Math.min(...arr);
// Знаходимо суму усіх елементів масиву
let sum = 0
arr.forEach(element => {
sum += element
});
// Розраховуємо середнє значення усіх чисел що прийши нам в масиві та округлюємо їх в меншу сторону
let middleArrItem = Math.floor(sum / arr.length)
// Повертаємо результат
return [minArrItem, maxArrItem, middleArrItem]
}
}
// Тестове виведення (Можна видалити)
console.log(getSpeedStatistic([0, 2, 4, 0, 10, 33, 21, 4, 1]))
// Якщо є додаткові запитання щодо коду - Звертайся :)