Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数组多维素数检查_Javascript_Arrays_Multidimensional Array_Primes - Fatal编程技术网

Javascript 数组多维素数检查

Javascript 数组多维素数检查,javascript,arrays,multidimensional-array,primes,Javascript,Arrays,Multidimensional Array,Primes,我已经搜索过了,但是我没有找到我要问的东西。作为初学者和学习JavaScript的学生,我有一个问题。我知道如何检查一个数字是否是素数。这是我的问题: numbers([ [5, 7, 10], [8, 2, 3], [44, 50, 22] ]) expected output: [ ['#', '#', 10], [8, '#', '#'], [44, 50, 22] ] 我需要的是:如果多维数组中有一个素数,我需要将其更改为#,如果没有,则不做任何更改。此任务不

我已经搜索过了,但是我没有找到我要问的东西。作为初学者和学习JavaScript的学生,我有一个问题。我知道如何检查一个数字是否是素数。这是我的问题:

numbers([
  [5, 7, 10],
  [8, 2, 3],
  [44, 50, 22]
])

expected output:
[
  ['#', '#', 10],
  [8, '#', '#'],
  [44, 50, 22]
]
我需要的是:如果多维数组中有一个素数,我需要将其更改为
#
,如果没有,则不做任何更改。此任务不需要内置函数,如
.indexOf
.include
.findIndex
.reduce
.map
.filter
,也不需要添加新参数或正则表达式。到目前为止,我得到的是:

function multidimensionalPrimesChecker(numbers)
{
    for (var i = 0 ; i < numbers.length ; i++)
    {
        for (var j = 0 ; j < numbers[i].length ; j++)
        {
            if (numbers[i][j] % i === 0)
            {
                return false;
            }
        }
    }
}
函数多维校验器(数字)
{
对于(变量i=0;i
我不知道该怎么解决这个问题了。请帮帮我。
感谢您的好意首先,您需要一个函数来检查一个数字是否为素数,因为您当前的检查
numbers[i][j]%i==0
仅检查
numbers[i][j]
是否可被
i
整除。下一种方法可以做到这一点:

function isPrime(num)
{
    for(let i = 2, s = Math.sqrt(num); i <= s; i++)
        if(num % i === 0) return false;

    return num !== 1 && num !== 0;
}

为什么要使用
i
执行
模块
操作?您希望完成什么?您可以使用
array.map()。如果为true,则返回数字,如果为false,则返回一个
#
。我想他不能使用此内置函数,因为他特别说“此任务不需要内置函数,如…map…”是的,我的讲座说我们不需要使用内置函数,因为他希望我们理解逻辑。谢谢,它可以工作。再次感谢你的解释。