gpt4 book ai didi

JavaScript : How can I add X elements to an array

转载 作者:行者123 更新时间:2023-11-28 20:26:38 25 4
gpt4 key购买 nike

我需要创建一个包含前 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 函数,即使对于大量数字,它也能正常工作。

但是当我运行该程序时,我有:

fatal error :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 = prime.length 不会神奇地更新。

此外,if( x = true) 形式的语句会将 x 设置为 true,然后自动传递条件。在本例中,由于 x 是函数调用,因此它是无效语法。

你是这个意思吗?

var j = 2;
while(premier.length < 100) {
if( isPrime(j)) premier.push(j);
j++;
}

关于JavaScript : How can I add X elements to an array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17264339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com