Прежде всего, вы не должны объявлять функцию в for l oop. Я не думаю, что это вызывает ошибку, но с некоторым текстовым редактором, вероятно, отображается предупреждение.
Вы можете изменить этот метод (в синтаксисе ES6) , чтобы проверить, является ли число простое число и возвращает (0 или 1) вместо (true или false).
// This method returns 1 if the number is a prime number, else return 0
const isPrime = num => {
for(let i = 2, s = Math.sqrt(num); i <= s; i++)
if(num % i === 0) return 0; // Not a prime number, return 0
return ( (num > 1) ? 1 : 0 ); // Return 1 if num > 1, else return 0
}
Теперь вы можете использовать функцию isPrime в своем коде следующим образом:
let matrix = [ [50,17], [19,20,6,40,14], [97] ,[31,9,5] ];
let counter = 0
for(let row = 0 ; row < matrix.length ; row++){
// Counter will increase if isPrime returns 1
for(let col = 0 ; col < matrix[row].length ;col++)
counter += isPrime(matrix[row][col])
}
console.log(counter); // Should show in console how many prime numbesr you have in the matrix