Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery在数组中循环-一定有更好的方法_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript Jquery在数组中循环-一定有更好的方法

Javascript Jquery在数组中循环-一定有更好的方法,javascript,jquery,arrays,Javascript,Jquery,Arrays,我看到过类似的问题,在过去的几天里,我读了又读。我只是不知道我做的是否正确(我非常怀疑我是正确的),以及如何从这里得到正确的方法。基本上,我有一个数组的图像,我想循环通过。它在工作,但由于某种原因,c的值连续两次为零 function slider_plus() { var imgs = imgArr.length; a++; var b = a - 1; var c = a + 1; if (a >= imgs) { a = 0

我看到过类似的问题,在过去的几天里,我读了又读。我只是不知道我做的是否正确(我非常怀疑我是正确的),以及如何从这里得到正确的方法。基本上,我有一个数组的图像,我想循环通过。它在工作,但由于某种原因,c的值连续两次为零

function slider_plus() {
    var imgs = imgArr.length;

    a++;
    var b = a - 1;
    var c = a + 1;

    if (a >= imgs) {
        a = 0;
    }
    if (b < 0) {
        b = imgs - 1;
    }
    if (c >= imgs) {
        c = 0;
    }
    $("#varsDiv").html(" var b = " + b + " var a = " + a + " var c = " + c);
    $("#basic_ul").html(imgArr[b] + imgArr[a] + imgArr[c]);
}
函数滑块\u plus(){
var imgs=imgArr.length;
a++;
VarB=a-1;
var c=a+1;
如果(a>=imgs){
a=0;
}
if(b<0){
b=imgs-1;
}
如果(c>=imgs){
c=0;
}
$(“#varsDiv”).html(“var b=“+b+”var a=“+a+”var c=“+c”);
$(“#basic_ul”).html(imgar[b]+imgar[a]+imgar[c]);
}
换句话说,每次调用函数时,c的值都应该增加。但当这些是重复调用函数的结果时:2 3 0 0 1 2 3 0 0 1 2 3 0 0 0。。。等等我需要的是:2301,2301。我百分之百确信有更好的方法来做这件事,但我是个笨蛋,这是我所能做到的…

你是说这样吗

var a = 0;
function slider_plus() {
    var imgs = imgArr.length;
    $("#basic_ul").html(imgArr[a++ % imgs] + imgArr[a % imgs] + imgArr[(a+1) % imgs]);
}

代码的快速修复方法是在设置和调整
b
c
的值之前调整
a
(当其>=
imgs
时将其设置为0)。现在当
a
在你周围循环时,将它和
c
都设置为0,我认为这不是你想要的

您可能还需要阅读模数运算符,
%
。它将使您更容易地“包装”这些值

a %= imgs // will set a to 0 when it equals imgs

不过,你仍然需要抓住-1个案例来解释
b

谢谢@bhamlin!我将学习模运算符,也许我可以用它减少大量代码。