1) функция, которая принимает на ввод массив 2) переменные min, max, sum 3) Пройдите по массиву циклом for: если элемент больше предыдущего макс, то макс = элементу; если элемент меньше предыдущего мин, то мин = элементу; добавляем элемент к сумме sum для последующего вычисления среднего. 4) Для передачи всех аргументов используйте spread-оператор, а для суммирования элементов — метод reduce 5) функция должна возвращать объект вида {max:..., min: ..., avg:...}. Среднее надо округлить до двух знаков после запятой( toFixed ). Нужно вернуть число (number), необходимо дополнительное преобразование значения к числу.
function getArrayParams(arr) { let min, max, sum, avg; min = Infinity; max = -Infinity; sum = 0; for (let i = 0; i < arr.length; i++) { if (arr[i] > max) { max = arr[i]; } else if (arr[i] < min) { min = arr[i]; } sum += arr[i]; } avg = sum / arr.length; return { min: min, max: max, avg: avg }; }
Вот исправленная версия вашей функции с учетом требований:
```javascript function getArrayParams(...arr) { let min = Infinity, max = -Infinity, sum = 0;
arr.forEach(el => { if (el > max) max = el; if (el < min) min = el; sum += el; });
const avg = (sum / arr.length).toFixed(2); // Среднее, округленное до 2 знаков return { min, max, avg: +avg }; // Преобразуем avg в число } ```
### Описание: 1. **spread-оператор** используется для передачи всех аргументов как массива. 2. Пройдено по массиву с использованием метода **forEach**. 3. Для вычисления среднего используется **toFixed(2)** для округления до двух знаков после запятой. 4. Возвращаем объект с полями `min`, `max` и `avg`, где `avg` преобразован в число с помощью унарного плюса `+`.
Строго говоря его вариант тоже будет работать, поскольку если элемент больше максимального, то он точно не будет меньше минимального ( не попадет во вторую ветку, а сумма и у него считается независимо
Андрей
Высший разум
(472484)
Иван Сигаев, Массив из одного элемента. Или массив [1, 2, 3]. В качестве минимума его код вернёт Infinity, т.к. else if ни разу не выполнится.
если элемент меньше предыдущего мин, то мин = элементу;
добавляем элемент к сумме sum для последующего вычисления среднего. 4) Для передачи всех аргументов используйте spread-оператор, а для суммирования элементов — метод reduce 5) функция должна возвращать объект вида {max:..., min: ..., avg:...}. Среднее надо округлить до двух знаков после запятой( toFixed ). Нужно вернуть число (number), необходимо дополнительное преобразование значения к числу.