factoring

by Darby Rathbone

JavaScript

function factors(e){

    var a = e,
        b=[];
    if(Array.isArray(e)){
        return e.map(factors);   
    }
    for(var i = 1;i<a;i++)
    {
           if((e%i)===0)
               b.push(i);
        a=e/i;
    }
    return b;
}

function isPrime(e){
    if(Array.isArray(e)){
        return e.map(isPrime);   
    }
    var t = factors(e);
    return t.length ===0;
}
function primeFactors(n){
    if(Array.isArray(n)){
       return n.map(primeFactors);
    }
    var a = factors(n);
    
        a.map(factor).filter(isPrime);
}
console.log(factors(600851475143))