JavaScript 向后迭代项目

标签 javascript if-statement

我正在使用以下代码迭代一些照片:

if (this.lightboxIndex < this.photos.length - 1) {
            this.lightboxIndex++;
          } else {
            this.lightboxIndex = 0;
          }
          this.lightboxSrc = this.photos[this.lightboxIndex].src;
        },

如何向后迭代相同的照片?这符合我需要做的吗?

if(this.lightboxIndex < this.photos.length - 1){
            this.lightboxIndex--;
          } else {
            this.lightboxIndex = 0;
          }
          this.lightboxSrc = this.photos[this.lightboxIndex].src;
        },

最佳答案

向下迭代时,需要检查是否达到 0,而不是最高索引,然后返回到最高索引。

if (this.lightboxIndex == 0) {
    this.lightboxIndex = this.photos.length - 1;
} else {
    this.lightboxIndex--;
}

您的 if 测试总是会成功,因此它只会不断减少索引,变成负数。

关于JavaScript 向后迭代项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38136850/

相关文章:

javascript - Javascript 忽略当前处于无限循环中的 setInterval

javascript - Backbone 中 Underscore 的 .defer() 导致错误 : Cannot call method 'apply' of undefined

r - 在 while 循环中借助 if 语句让 R 跳过某些索引值

javascript - 在单 View Ionic Framework 中加载 Js 文件

javascript - 如何检查javascript var中是否存在文本

javascript - react 使用手势 useScroll 未检测到滚动事件

java - 重复号码检查并不总是有效

python - Python 中 if 语句流的逻辑

ios - UITextField - If 语句

Python 一行 if 语句有两个 Action