Сумма и среднее в массиве на JavaScript: решаем через loop
Быстрый ответ
💻 Прямиком переходим к коду и применяем функцию reduce()
в JavaScript:
const nums = [1, 2, 3, 4, 5];
// Вычисляем сумму всех элементов
const sum = nums.reduce((a, b) => a + b);
// Вычисляем среднее
const avg = sum / nums.length;
console.log(`Сумма: ${sum}, Среднее: ${avg}`);
Вариант кода в одну строку: const avg = nums.reduce((a, b) => a + b) / nums.length;
Пустые массивы: Проверяем предварительно, чтобы избежать проблем
Проверка массива на пустоту избавит вас от ошибок:
const nums = [];
// Убедитесь, что массив не пуст, прежде чем делить!
const sum = nums.reduce((a, b) => a + b, 0);
const avg = nums.length ? sum / nums.length : 0;
console.log(`Сумма: ${sum}, Среднее: ${avg}`);
Числа под видом строк? Не на моем вахте!
Гарантируем корректные расчеты, преобразовав строки обратно в числа:
const nums = ["1", "2", "3", "4", "5"];
// Избегаем неявные ошибки приведения типов
const sum = nums.reduce((a, b) => a + parseInt(b, 10), 0);
const avg = sum / nums.length;
console.log(`Сумма: ${sum}, Среднее: ${avg}`);
Усовершенствования кода для профессионалов
Вот несколько советов и приемов, чтобы повысить эффективность и качество вашего кода.
Отображение результатов с помощью document.write()
Для вывода данных используйте document.write()
. Это даст больше простора для креативности:
document.write(`Сумма: ${sum}, Среднее: ${avg}`);
Код для повторного использования? Да, пожалуйста!
Оформите расчеты в функцию, чтобы упростить их повторное использование:
function calculateSumAndAverage(array) {
const sum = array.reduce((a, b) => a + parseInt(b, 10), 0);
const avg = array.length ? sum / array.length : 0;
return { sum, avg };
}
const results = calculateSumAndAverage(nums);
console.log(`Сумма: ${results.sum}, Среднее: ${results.avg}`);
Используйте стрелочные функции ES6 для краткости и четкости кода
Стрелочные функции ES6 позволяют сделать больше, писав меньше:
const calculateSumAndAverage = (array) => {
const sum = array.reduce((a, b) => a + parseInt(b, 10), 0);
const avg = array.length ? sum / array.length : 0;
return { sum, avg };
};
Визуализация
Массив полон вкусных цифр:
// Массив: [4, 2, 8, 6]
Сумма: блестящий результат суммирования всех компонентов:
Сумма = 4 + 2 + 8 + 6 = **20**
Среднее: результат распределения на равные доли:
Среднее = Сумма / Количество элементов = 20 / 4 = **5**
Расширяйте свои знания
Большие числа: чем больше, тем сложнее...
Когда работаете с большими массивами, важно обращать внимание на производительность и сравнивать reduce()
с обычными циклами.
Осторожно, работаем с числами с плавающей точкой!
JavaScript может преподнести сюрпризы при работе с десятичными числами, поэтому будьте аккуратны:
const nums = [0\.1, 0.2, 0.3];
// Обеспечиваем высокую точность
const sum = nums.reduce((a, b) => a + b, 0).toFixed(2);
const avg = (sum / nums.length).toFixed(2);
console.log(`Сумма: ${sum}, Среднее: ${avg}`);
Современный JavaScript: Будьте на шаг впереди всех
Используйте современные возможности языка, такие как spread-синтаксис, чтобы ваш код всегда был на гребне волны технологий:
const sum = [...nums].reduce((a, b) => a + b, 0);
const avg = sum / nums.length;
Асинхронные данные: Держите слово
Работаете с асинхронными данными? Используйте Promise или async/await в сочетании с подходящими методами массивов.
Полезные материалы
- Array.prototype.reduce() – JavaScript | MDN — полное руководство по использованию
reduce()
. - JavaScript Array reduce() Method – W3Schools — объяснение на JavaScript.
- How to find the sum of an array of numbers – Stack Overflow — примеры использования.
- Методы массива – JavaScript.info — всё про
reduce()
, полезно для понимания. - A Guide To The Reduce Method In Javascript – freeCodeCamp — все об методе
reduce()
. - javascript – Finding the average of an array using JS – Stack Overflow — как рассчитать среднее значение.
- ECMAScript® 2024 Language Specification — официальная спецификация ECMAScript для профессионалов.