【发布时间】:2023-03-14 07:52:01
【问题描述】:
所以我知道这段代码在做什么,它正在检查代码是否“统一”,例如a,a,a,a,a,a 或1,1,1,1,1,1,如果不是,则返回错误语句。但是我不确定这个等式是如何工作的。大多数情况下,我对array[0] 以及为什么变量是i = 1 感到困惑。有人可以告诉我这里发生了什么以及为什么会这样吗?
function isUniform(arr){
var first = arr[0];
for(var i = 1; i < arr.length; i++){
if(arr[i] !== first){
return false;
}
}
return true;
}
【问题讨论】:
-
如果你能发布你认为它是如何工作的,那将会有很大帮助。我们只能猜测您的技能水平。
-
所以我读到第一个变量数组是零,for语句中的var是i = 1,任何小于数组长度的都加1。如果该数组不等于 0,则返回 false。这就是为什么我很困惑,它不应该希望它等于自己以返回一个 true 吗?
-
另一种写法是:
var first = arr[0]; return arr.every(val => val === first); -
arr[0]指的是数组中的第一个元素。如果一个数组有 4 个元素,它们将是arr[0], arr[1], arr[2], arr[3]。 -
您似乎对数组的概念感到困惑。如果你把一个变量想象成一个名字可以容纳一个值的盒子,那么一个数组就被命名为这样的盒子的行,每个盒子都有一个数字。当您想在其中一个框中输入值或查看其中一个值时,您可以将框的编号放在名称后面的方括号中,如
arr[0]或arr[3]。一些(愚蠢的)语言从一开始对框进行编号(1,2,3,...),JavaScript 从零开始(0,1,2,...)
标签: javascript arrays algorithm