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
Answers & Comments
Ось код функції getSpeedStatistic:
```
function getSpeedStatistic(testResults) {
if (testResults.length === 0) {
return [0, 0, 0];
}
let min = testResults[0];
let max = testResults[0];
let sum = 0;
for (let i = 1; i < testResults.length; i++) {
if (testResults[i] > max) {
max = testResults[i];
}
if (testResults[i] < min) {
min = testResults[i];
}
sum += testResults[i];
}
return [min, max, Math.floor(sum / testResults.length)];
}
```
Ця функція спочатку перевіряє, чи масив швидкостей порожній. Якщо він порожній, функція просто повертає масив [0, 0, 0]. Якщо масив не порожній, функція ініціалізує змінні `min`, `max` і `sum` значеннями першого елемента масиву. Потім функція перебирає елементи масиву. На кожній ітерації функція перевіряє, чи поточний елемент більший за `max`, і якщо так, то функція змінює значення `max` на поточний елемент. Функція також перевіряє, чи поточний елемент менший за `min`, і якщо так, то функція змінює значення `min` на поточний елемент. Функція також додає поточний елемент до `sum`. Після перебору функція обчислює значення `average` (і округлює його вниз) і повертає масив з `min`, `max` і `average`.
Сподіваюся, це допоможе! Дай мені знати, якщо у тебе виникнуть інші запитання.