Javascript 在两个方向上迭代一个范围

Javascript 在两个方向上迭代一个范围,javascript,arrays,shorthand,Javascript,Arrays,Shorthand,在两个方向的某个范围内进行循环迭代是一项非常常见且简单的任务: var currentIndex=0; 变量范围=['a','b','c','d','e','f']; 函数getNextItemdirection{ 电流指数+=方向; 如果currentIndex>=range.length{currentIndex=0;} 如果currentIndex

在两个方向的某个范围内进行循环迭代是一项非常常见且简单的任务:

var currentIndex=0; 变量范围=['a','b','c','d','e','f']; 函数getNextItemdirection{ 电流指数+=方向; 如果currentIndex>=range.length{currentIndex=0;} 如果currentIndex<0{currentIndex=range.length-1;} 返回范围[当前索引]; } //获得下一个正确的项目 console.loggetNextItem1; //获取下一个左项 console.loggetNextItem-1 要将两个ifs转换为一个无条件语句,可以将range.length添加到currentIndex,然后使用模:

var currentIndex=0; 变量范围=['a'、'b'、'c'、'd'、'e'、'f']; 函数getNextItemdirection{ currentIndex=currentIndex+方向+range.length%range.length; 返回范围[当前索引]; } //获得下一个正确的项目 console.loggetNextItem1; console.loggetNextItem1; //获取下一个左项 console.loggetNextItem-1; console.loggetNextItem-1; console.loggetNextItem-1; console.loggetNextItem4; console.loggetNextItem1; console.loggetNextItem1; console.loggetNextItem1 要将两个ifs转换为一个无条件语句,可以将range.length添加到currentIndex,然后使用模:

var currentIndex=0; 变量范围=['a'、'b'、'c'、'd'、'e'、'f']; 函数getNextItemdirection{ currentIndex=currentIndex+方向+range.length%range.length; 返回范围[当前索引]; } //获得下一个正确的项目 console.loggetNextItem1; console.loggetNextItem1; //获取下一个左项 console.loggetNextItem-1; console.loggetNextItem-1; console.loggetNextItem-1; console.loggetNextItem4; console.loggetNextItem1; console.loggetNextItem1;
console.loggetNextItem1;你确定它工作正常吗,getNextItem-1;给出未定义的?您也可以使用三元运算符。顺便说一句,它应该是if…else if而不是doubleif@Bergi应该吗?“为什么?”丹尼索说。它将尝试在每次迭代中检查两个if条件,而在else。。如果它不能让你确信它能完美工作,那么获取nextitem-1;给出未定义的?您也可以使用三元运算符。顺便说一句,它应该是if…else if而不是doubleif@Bergi应该吗?“为什么?”丹尼索说。它将尝试在每次迭代中检查两个if条件,而在else。。如果不行的话