首页 > 解决方案 > 我怎样才能退出循环?

问题描述

我尝试编写一个可以将数组向左旋转的函数,例如 1,2,3,4,5,6,7,8,9 并转向 4,5,6,7,8,9,1, 2,3。首先,我在下面使用这个函数,但结果是 4,2,3,7,5,6,1,8,9。因此,我认为它不会退出循环,因为它只在循环中执行一次。请问有人可以帮我吗?任何帮助,将不胜感激!提前致谢。

var a =[1,2,3,4,5,6,7,8,9];
var len =a.length;
for (i=0;i<3;i++ )
{   
    var b = a[i];
    var j = i;
    for(k=0;k<a.length;k++)
      {
        j+=3;
        if(j<a.length)
        {
            a[i] = a[j];
            i=j;
        }
        else {
            j-=3;
            a[j]=b;
            break;
        }

    }   
}

console.log(a);

标签: javascriptfor-loopbreak

解决方案


我不确定您正在使用的方法,但是使用shift并且push会很容易地实现这一点:

var a =[1,2,3,4,5,6,7,8,9];
var len = a.length;
for (i = 0; i < 3; i++) {
  a.push(a.shift());
}

console.log(a);

输出:

4,5,6,7,8,9,1,2,3

shift从数组中删除第一项。这里有一些文档

push将一个项目推到数组的末尾。这里有一些文档


推荐阅读