如何在JavaScript中比较当前数组元素和下一个数组元素

如何在JavaScript中比较当前数组元素和下一个数组元素,javascript,arrays,for-loop,Javascript,Arrays,For Loop,我有颜色模板,用户可以选择,也可以改变个人的颜色,如果他们想。我有两个数组:一个包含所有模板,每个模板包含一个总共8种颜色的调色板和一个模板名称字符串。我的大多数模板都有白色背景,所以我不希望用户必须点击12次,或者点击多少次才能到达另一个背景颜色不同的索引。我的想法是使用“for”语句检查数组中的下一个元素,并将其与当前元素进行比较,以查看它们是否相同。如果元素相同,那么我将再次递增数组和“for”语句检查,有效地跳过任何重复索引,直到找到新值 为此,我使用如下“for”语句: (;数组[in

我有颜色模板,用户可以选择,也可以改变个人的颜色,如果他们想。我有两个数组:一个包含所有模板,每个模板包含一个总共8种颜色的调色板和一个模板名称字符串。我的大多数模板都有白色背景,所以我不希望用户必须点击12次,或者点击多少次才能到达另一个背景颜色不同的索引。我的想法是使用“for”语句检查数组中的下一个元素,并将其与当前元素进行比较,以查看它们是否相同。如果元素相同,那么我将再次递增数组和“for”语句检查,有效地跳过任何重复索引,直到找到新值

为此,我使用如下“for”语句:

(;数组[index][colorSlot]==数组[index+1][colorSlot];index++)


在我找到最后一个数组索引并查找下一个显然不存在的索引之前,它一直工作得很好,因此完全破坏了我的函数。有没有办法防止它查找不存在的数组索引?我是否应该使用除“for”语句以外的其他语句?

您可能希望转到最后一个数组索引并跳过所有重复

for(let index=0; index<array.length-2; index++)
{
    if[index][colorSlot] != array[index+1][colorSlot]
    {
    }
}

for(让index=0;index您可以使用while循环进行尝试在您的情况下,它比for循环更好

let索引=0;
而(index
好的,我想出来了


在for循环中,我检查两个条件:首先,检查
[index+1]!=array.length,然后检查当前数组值是否等于下一个(如上所述)。如果检查索引的下一个值会导致它搜索一个不存在的索引,它将退出for语句并重置我的索引。

转到for循环中的array.length-2。还有,为什么要使用loopcount和index。@arundeepchohan,我该怎么做?for语句看起来有些混乱:初始化
loopcount
,使用
数组
索引增量
条件。你确定这是正确的方法吗?@Sascha,对不起,我想我不需要任何初始化。将其编辑掉。