Как ускорить функцию подсчёта суммы от 0 до заданного числа js?
приветствую, я ещё только учусь js. Решил задачку, но возник вопрос. При вводимых числах до 1 000 000, принципе функция быстро выполняется, а вот ближе к 1 000 000 и выше, долго, Как можно модифицировать этот код, чтоб с большими значениями тоже быстро работало?
по заданию - написать функцию которая принимает число введённое пользователем в поле ввода и суммирует числа от 0 до введённого числа которые делятся на 3 или на 5. Результат вывести на страничке , вместо поля ввода.
Вот я состряпал такое месиво:
let input = document.querySelector('#input');
let btn = document.querySelector('.button');
let section = document.querySelector('.num');
let form = document.querySelector('form');
let arrNum = [];
let arr = (input) => {
btn.addEventListener('click', (e) => {
if (e.target) {
let count = 0;
let numValue = Number(input.value);
//собираю массив:arrNum из заданного числа numValue
while (count < numValue) {
(count % 3 === 0 || count % 5 === 0)
? arrNum.push(count)
: section.innerHTML = `Чёт ничё не делится, ни на 3, ни на 5`;
count++;
};
//
(arrNum.length > 0)
? section.innerHTML = `${arrNum.reduceRight((sum, current) => sum + current)}`
: (arrNum.length === 0)
? section.innerHTML = `А суммировать то нечего ${arrNum}`
: section.innerHTML = `Массив arrNum - пустой или там только 1 знаечние.`
}
})
}
arr(input);
<main class="main container">
<section class="num">
<form action="#" class="form">
<lebal class="lebal" from="input"></lebal>
<input type="text" name="input" id="input">
<button class="button">посчитать</button>
</form>
</section>
</main>