我需要建立一個數組,包括前100張素數,這裏是我的代碼:的Javascript:我如何添加X元素添加到數組
var premier= [];
var nombre= premier.length;
function isPrime(n)
{
if(n < 2)
{
return false;
}
for(i=2; i<Math.sqrt(n); i++)
{
if(n%i===0)
{
return false;
}
}
return true
};
while(nombre<100)
{
var j=2
if(isPrime(j)==true)
{
premier.push(j);
}
j=j+1
}
我在Javascript初學者,但我已經測試isPrime
函數,即使對於大數字,它也能正常工作。
但是當我運行該程序,我有:
致命錯誤:JS分配失敗 - 加工出來的內存
我覺得這部分是錯誤的:
while(nombre<100)
{
var j=2
if(isPrime(j)=true)
{
premier.push(j);
}
j=j+1
}
console.log(premier)
但我可以」 t告訴你爲什麼
您有什麼問題? – SLaks
是否在將數據推入數組之後更新'nombre'的值? – Jacopofar
'isPrime(j)= true'將不會運行。它是無效的,因爲函數調用不能出現在賦值的左側。我假設'=='是想要的,但是*發佈基本上破壞的非解析代碼*是沒有用的;當不包括適當的錯誤信息時,更少。 – user2246674