【发布时间】:2018-11-05 14:25:55
【问题描述】:
这个练习是关于识别数组中的所有元素是否相同,如果它们相同则返回 true,否则返回 false。下面是代码和我编写代码背后的逻辑。
function isUniform(array){
for(var i = array.length - 1; i>=0; i--){
if(array[i] !== array[i-1]){
return false;
}
}
return true;
}
基本上,我想从数组末尾的最后一个元素开始,检查它是否与倒数第二个元素相等。如果它们相等,循环将从“i”变量中减去 1,然后“if 语句”将再次运行。当 i 达到 -1 时循环将停止,这就是检查每个数组元素并且循环应该结束并返回 true 的点。我在做什么/想错了什么?
谢谢!
【问题讨论】:
-
在最后一次迭代中,
i将为零 ... -
当然你必须训练逻辑,但查一下只是为了知道该语言可以做什么 XD
-
将
i>=0更改为i>0 -
@Pointy, undefined no?
-
typeof array.find(element => element !== array[0]) === 'undefined'可能会更简单
标签: javascript arrays