[英]How to compare current array element to next array element in JavaScript
我有用户可以选择的颜色模板,也可以根据需要更改各个颜色。 我有两个数组:一个包含所有模板,每个模板包含一个包含 8 种颜色的调色板和一个模板名称字符串。 我的大多数模板都有白色背景,所以我不希望用户必须点击 12 次或点击多少次才能到达另一个背景颜色不同的索引。 我的想法是使用“for”语句来检查数组中的下一个元素,并将其与当前元素进行比较以查看它们是否相同。 如果元素相同,那么我增加数组并再次检查“for”语句,有效地跳过任何重复的索引,直到找到新值。
为此,我使用了这样的“for”语句:
( ; array[index][colorSlot] == array[index+1][colorSlot]; index++)
这工作得很好,直到我到达最后一个数组索引,它会查找显然不存在的下一个索引,从而完全破坏了我的功能。 有没有办法防止它查看不存在的数组索引? 我应该使用“for”语句以外的其他东西吗?
您可能想要上升到倒数第二个数组索引并跳过所有重复。
for(let index=0; index<array.length-2; index++)
{
if[index][colorSlot] != array[index+1][colorSlot]
{
}
}
您可以尝试使用 while 循环,在您的情况下,它是比 for 循环更好的选择。
let index = 0; while (index < array.length -2 && array[index][colorSlot] != array[index+1][colorSlot] ) { ... index++; }
好的,我想通了。
在我的 for 循环中,我检查两个条件:首先,我检查是否[index+1]!=array.length
然后我检查当前数组值是否等于下一个值(如上所述)。 如果检查索引的下一个值会导致它搜索不存在的索引,它会退出 for 语句并重置我的索引。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.