JSFiddle - React, Tailwind, and code Playground

by blesh

JavaScript

//Prime factor 1.
function getPrimes(toLimit) {
    var primes = [],
        i, x;
    outer: for (i = 2; i <= toLimit; i++) {
        for (x = 0; x < primes.length; x++) {
            if (i % primes[x] === 0) {
                continue outer;
            }
        }
        primes.push(i);
    }
    return primes;
}

//console.log(getPrimes(100));

function factor(num) {
    var primes = getPrimes(num),
        partial = num,
        i, prime, result = [];
    for (i = 0; i < primes.length; i++) {
        prime = primes[i];
        if (partial % prime === 0) {
            result.push(prime);
            partial /= prime;
            i--; //try it again.
        }
    }
    return result;
}

console.log(factor(100));