Сумма и среднее в массиве на JavaScript: решаем через loop

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

💻 Прямиком переходим к коду и применяем функцию reduce() в JavaScript:

JS
Скопировать код
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;

Кинга Идем в IT: пошаговый план для смены профессии

Пустые массивы: Проверяем предварительно, чтобы избежать проблем

Проверка массива на пустоту избавит вас от ошибок:

JS
Скопировать код
const nums = [];
// Убедитесь, что массив не пуст, прежде чем делить!
const sum = nums.reduce((a, b) => a + b, 0);
const avg = nums.length ? sum / nums.length : 0;
console.log(`Сумма: ${sum}, Среднее: ${avg}`);

Числа под видом строк? Не на моем вахте!

Гарантируем корректные расчеты, преобразовав строки обратно в числа:

JS
Скопировать код
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(). Это даст больше простора для креативности:

JS
Скопировать код
document.write(`Сумма: ${sum}, Среднее: ${avg}`);

Код для повторного использования? Да, пожалуйста!

Оформите расчеты в функцию, чтобы упростить их повторное использование:

JS
Скопировать код
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 позволяют сделать больше, писав меньше:

JS
Скопировать код
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 };
};

Визуализация

Массив полон вкусных цифр:

Markdown
Скопировать код
// Массив: [4, 2, 8, 6]

Сумма: блестящий результат суммирования всех компонентов:

Markdown
Скопировать код
Сумма = 4 + 2 + 8 + 6 = **20**

Среднее: результат распределения на равные доли:

Markdown
Скопировать код
Среднее = Сумма / Количество элементов = 20 / 4 = **5**

Расширяйте свои знания

Большие числа: чем больше, тем сложнее...

Когда работаете с большими массивами, важно обращать внимание на производительность и сравнивать reduce() с обычными циклами.

Осторожно, работаем с числами с плавающей точкой!

JavaScript может преподнести сюрпризы при работе с десятичными числами, поэтому будьте аккуратны:

JS
Скопировать код
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-синтаксис, чтобы ваш код всегда был на гребне волны технологий:

JS
Скопировать код
const sum = [...nums].reduce((a, b) => a + b, 0);
const avg = sum / nums.length;

Асинхронные данные: Держите слово

Работаете с асинхронными данными? Используйте Promise или async/await в сочетании с подходящими методами массивов.

Полезные материалы

  1. Array.prototype.reduce() – JavaScript | MDN — полное руководство по использованию reduce().
  2. JavaScript Array reduce() Method – W3Schools — объяснение на JavaScript.
  3. How to find the sum of an array of numbers – Stack Overflow — примеры использования.
  4. Методы массива – JavaScript.info — всё про reduce(), полезно для понимания.
  5. A Guide To The Reduce Method In Javascript – freeCodeCamp — все об методе reduce().
  6. javascript – Finding the average of an array using JS – Stack Overflow — как рассчитать среднее значение.
  7. ECMAScript® 2024 Language Specification — официальная спецификация ECMAScript для профессионалов.