Javascript 使用forLoop()在数组中查找唯一的数字
我在尝试Javascript练习时遇到了一个问题。 我已经构建了一个函数来查找数组是否由相同的数字组成。 如果有唯一的数字,则返回false 这是我想到的,我不明白为什么它不起作用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
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;i log(isUniform([1,1,2])代码>if(arr[i-1]!==arr[i]);{
那里不应该有分号。是否假设数组已排序?我完全认为索引将始终从2开始,因为forLoop的末尾有“I++”。多么精确的解释!谢谢!我现在可以睡觉了。