Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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 使用forLoop()在数组中查找唯一的数字_Javascript - Fatal编程技术网

Javascript 使用forLoop()在数组中查找唯一的数字

Javascript 使用forLoop()在数组中查找唯一的数字,javascript,Javascript,我在尝试Javascript练习时遇到了一个问题。 我已经构建了一个函数来查找数组是否由相同的数字组成。 如果有唯一的数字,则返回false 这是我想到的,我不明白为什么它不起作用 function isUniform(arr){ for (var i = 0; i < arr.length; i++) { if (arr[i-1] !== arr[i]); { return false; } } r

我在尝试Javascript练习时遇到了一个问题。 我已经构建了一个函数来查找数组是否由相同的数字组成。 如果有唯一的数字,则返回false

这是我想到的,我不明白为什么它不起作用

function isUniform(arr){
    for (var i = 0; i < arr.length; i++) {
        if (arr[i-1] !== arr[i]); {
            return false;
        }
    }     
    return true;
}
函数是统一的(arr){
对于(变量i=0;i
为什么这不起作用?这里有什么问题?我是个十足的傻瓜


谢谢大师

第一次迭代将始终
返回false
(除非数组的第一个元素未定义),因为当
i
从0开始时

if (arr[i-1] !== arr[i])
将始终决心

if (false)
因为
arr[i-1]
解析为
arr[-1]
,这几乎肯定是
未定义的。数组是零索引的,而不是
-1
-index。如果要将
用于
循环,请改为从
i=1开始:

函数是统一的(arr){
对于(变量i=1;ilog(isUniform([1,1,2])
if(arr[i-1]!==arr[i]);{
那里不应该有分号。是否假设数组已排序?我完全认为索引将始终从2开始,因为forLoop的末尾有“I++”。多么精确的解释!谢谢!我现在可以睡觉了。