Javascript中的素因子分解

Javascript中的素因子分解,javascript,prime-factoring,Javascript,Prime Factoring,我需要编写一个素因子分解函数,它返回一个对象,该对象的键是素因子,值是相应素因子的指数。例如 console.log(primefactoriation(4))//{2:2} log(primefactoriation(6))//{2:1,3:1} 到目前为止,我的代码在下面,但我被卡住了。非常感谢您的帮助 const primeFactorisation = (num) => { let result = {}; for (let i = 2; i < num; i

我需要编写一个素因子分解函数,它返回一个对象,该对象的键是素因子,值是相应素因子的指数。例如

console.log(primefactoriation(4))//{2:2} log(primefactoriation(6))//{2:1,3:1}

到目前为止,我的代码在下面,但我被卡住了。非常感谢您的帮助

const primeFactorisation = (num) => {
    let result = {};
    for (let i = 2; i < num; i++) {
      if (num % i === 0) {
        result[i] = i;
        num /= i;
      }
    }
    return result
  }
const primefactoriation=(num)=>{
让结果={};
for(设i=2;i
当找到一个数字时,在结果对象上增加它,而不是将
i
分配给结果对象

您还需要一个嵌套的循环来不断测试这个数字,直到它不再均匀地分割,并且还需要
i{
让结果={};

对于(让i=2;我给你一个提示:
result[i]=i;
应该是
result[i]++=1;
但首先需要检查它是否至少为0。此外,在if语句内部,放置一个
i--
。这意味着
i++
将被求反,因此第二次循环时
i
将保持不变。编辑:嵌套的
while
循环也将起作用