Проблема действительно возникала, потому что вы использовали одну и ту же переменную в обоих for
циклах.
Когда вы объявляете переменную, такую как j = 0;
, а не var j = 0;
, переменная будет добавлена в глобальную область (вместо области, в которой вы находитесь, поэтому любая другая область может видеть и изменять эту переменную).
Если ваш сценарий работает в строгом режиме , то это приведет к ошибке вместо добавления переменной в глобальную область.
Так что просто добавьте var
перед каждым j
объявлением.
var n = 100;
var prime1 = new Array();
//producing prime number upto 97
function primeNumber() {
for (var j = 1; j <= n; j++) {
if (countRemainder(j) == 2) {
prime1.push(j);
}
}
}
primeNumber();
console.log(prime1);
function countRemainder(n) {
var count = 0;
for (var j = 1; j <= n; j++) {
if (n % j == 0) {
count++;
}
}
return count;
}