JavaScript массивы

Помогите реолизовать функцию getDivisors, которая параметром будет принимать число и возвращать массив его делителей, то есть чисел, на которое делится наше число. К примеру, если мы передадим число 24 - мы должны получить массив [1, 2, 3, 4, 6, 12, 24].

function getDivisors(digit) {
  var sum1 = 0;
  for (elem of digit) {
    sum1 = sum1 + elem;
  }
  return sum1;
}
alert(getDivisors(26));


Ответы (2 шт):

Автор решения: Denis640Kb

    var digit = '123'; // Ваше число
    function getDivisors(digit) {
        let array = [1];
        for (let i = 2, limit = digit >> 1; i <= limit; ++i) {
            if (!(digit % i)) array.push(i);
        }
        if (digit !== 1)
            array.push(digit);
        return array;
    }

    console.log(getDivisors(digit));

→ Ссылка
Автор решения: Руслан

Вот как по мне более интересный и простой вариант =)))

function getDivisors(digit) {
	var denominators = [];
	var interimDenominators = 1;
	do {
		if(digit % interimDenominators == 0) {
			denominators.push(interimDenominators);
		}
		interimDenominators++;
	} while (interimDenominators <= digit / 2);
	denominators.push(digit);
	return denominators;
}

console.log(getDivisors(24));
console.log(getDivisors(123));
console.log(getDivisors(33));

→ Ссылка