这是我的带有循环的代码,我想使其更短(如果可能,在一个循环中)。

 function plan(piece) {

        for (i = 0; i < 10; i++) {
            piece.addStep('right');
        }
        for (i = 0; i < 9; i++) {
            piece.addStep('down');
        }
        for (i = 0; i < 8; i++) {
            piece.addStep('left');
        }
        for (i = 0; i < 7; i++) {
            piece.addStep('up');
        }
    }


等等...到我
我考虑过这种情况

   function plan(piece) {
     for (i=10; i>1; i--){
         piece.addStep('right');
         piece.addStep('down');
         piece.addStep('left');
         piece.addStep('up');
     }


但这是错误的。请帮助!

这是任务的外观(迷宫)

javascript - 用Javascript将10个循环合二为一-LMLPHP

最佳答案

您可以为重复逻辑添加功能:

function addSteps(piece, n) {
    while (n--) {
        piece.addStep(piece);
    }
}

addSteps('right', 10);
addSteps('down', 9);
addSteps('left', 8);
addSteps('up', 7);

09-25 21:32