![](/img/trans.png)
[英]How can I add new array elements at the beginning of an array in JavaScript?
[英]Javascript : How can I add X elements to an array
我需要創建一個包含前100個質數的數組,這是我的代碼:
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
功能,並能正常工作,甚至forlarge號碼。
但是當我運行程序時,我有:
嚴重錯誤:JS分配失敗-內存不足
我認為這部分是錯誤的:
while(nombre<100)
{
var j=2
if(isPrime(j)=true)
{
premier.push(j);
}
j=j+1
}
console.log(premier)
但我不知道為什么
您每次循環運行都會重復設置j=2
,並且您永遠不會更改nombre
因此循環永遠不會結束。 請注意,JavaScript通過值而不是通過引用設置文字變量,因此nombre = premier.length
不會神奇地更新。
此外, if( x = true)
形式的語句會將x
設置為true,然后自動傳遞條件。 在這種情況下,由於x
是函數調用,因此它是無效的語法。
你是這個意思嗎
var j = 2;
while(premier.length < 100) {
if( isPrime(j)) premier.push(j);
j++;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.