Javascript 角度,从阵列交换内容,如何管理第一个和最后一个

Javascript 角度,从阵列交换内容,如何管理第一个和最后一个,javascript,arrays,angularjs,Javascript,Arrays,Angularjs,我正在基于加载的数组交换内容(因此每次数组的长度都是动态的),我正在尝试找出如何处理此方法中的第一项和最后一项。正如在-我需要当你点击左从第一个它会去到最后一个相反的最后一个 所以我只有这个- <div class="side{{side.name}} side" ng-repeat="side in sides" ng-show="side.active" > {{side.name}} <i class="fa fa-che

我正在基于加载的数组交换内容(因此每次数组的长度都是动态的),我正在尝试找出如何处理此方法中的第一项和最后一项。正如在-我需要当你点击左从第一个它会去到最后一个相反的最后一个

所以我只有这个-

 <div class="side{{side.name}} side" ng-repeat="side in sides" ng-show="side.active" >
            {{side.name}}
            <i class="fa fa-chevron-circle-left" ng-click="flipLeft($index)"></i>
            <i class="fa fa-chevron-circle-right" ng-click="flipRight($index)"></i>
        </div>

所以它真正做的就是将.active替换为true或false以显示或隐藏内容。我不知道如何切换我的逻辑,使它循环,这样,如果你点击左键的第一个项目,它会转到最后一个,反之亦然。提前谢谢

最简单的方法是使用mod方法,使递增或递减保持在有效数字的范围内。所以看看你的代码,我会推荐你

$scope.flipLeft = function (index){
    $scope.sides[index].active = false;
    index = (index-1).mod($scope.sides.length)
    $scope.sides[index].active = true;    
};

要确保实现这个技巧:。

最简单的方法是使用mod方法,以便递增或递减保持在有效数字的范围内。所以看看你的代码,我会推荐你

$scope.flipLeft = function (index){
    $scope.sides[index].active = false;
    index = (index-1).mod($scope.sides.length)
    $scope.sides[index].active = true;    
};

要确保实现这个技巧:。

最简单的方法是使用mod方法,以便递增或递减保持在有效数字的范围内。所以看看你的代码,我会推荐你

$scope.flipLeft = function (index){
    $scope.sides[index].active = false;
    index = (index-1).mod($scope.sides.length)
    $scope.sides[index].active = true;    
};

要确保实现这个技巧:。

最简单的方法是使用mod方法,以便递增或递减保持在有效数字的范围内。所以看看你的代码,我会推荐你

$scope.flipLeft = function (index){
    $scope.sides[index].active = false;
    index = (index-1).mod($scope.sides.length)
    $scope.sides[index].active = true;    
};

并确保实施此技巧:。

检查要设置的索引是否大于或小于最小值/最大值。如果是,调整:

$scope.flipLeft = function (index){
    var idx = index - 1;

    if (idx < 0) {
       idx = $scope.sides.length - 1;
    }
    $scope.sides[index].active = false;
    $scope.sides[idx].active = true;
};

$scope.flipRight = function (index){
    var idx = index + 1;
    if (idx >= $scope.sides.length) {
       idx = 0;
    }
    $scope.sides[index].active = false;
    $scope.sides[idx].active = true;
};
$scope.flipLeft=函数(索引){
var idx=指数-1;
if(idx<0){
idx=$scope.sides.length-1;
}
$scope.sides[index].active=false;
$scope.sides[idx].active=true;
};
$scope.flipRight=函数(索引){
var idx=指数+1;
如果(idx>=$scope.sides.length){
idx=0;
}
$scope.sides[index].active=false;
$scope.sides[idx].active=true;
};

检查要设置的索引是否大于或小于最小/最大值。如果是,调整:

$scope.flipLeft = function (index){
    var idx = index - 1;

    if (idx < 0) {
       idx = $scope.sides.length - 1;
    }
    $scope.sides[index].active = false;
    $scope.sides[idx].active = true;
};

$scope.flipRight = function (index){
    var idx = index + 1;
    if (idx >= $scope.sides.length) {
       idx = 0;
    }
    $scope.sides[index].active = false;
    $scope.sides[idx].active = true;
};
$scope.flipLeft=函数(索引){
var idx=指数-1;
if(idx<0){
idx=$scope.sides.length-1;
}
$scope.sides[index].active=false;
$scope.sides[idx].active=true;
};
$scope.flipRight=函数(索引){
var idx=指数+1;
如果(idx>=$scope.sides.length){
idx=0;
}
$scope.sides[index].active=false;
$scope.sides[idx].active=true;
};

检查要设置的索引是否大于或小于最小/最大值。如果是,调整:

$scope.flipLeft = function (index){
    var idx = index - 1;

    if (idx < 0) {
       idx = $scope.sides.length - 1;
    }
    $scope.sides[index].active = false;
    $scope.sides[idx].active = true;
};

$scope.flipRight = function (index){
    var idx = index + 1;
    if (idx >= $scope.sides.length) {
       idx = 0;
    }
    $scope.sides[index].active = false;
    $scope.sides[idx].active = true;
};
$scope.flipLeft=函数(索引){
var idx=指数-1;
if(idx<0){
idx=$scope.sides.length-1;
}
$scope.sides[index].active=false;
$scope.sides[idx].active=true;
};
$scope.flipRight=函数(索引){
var idx=指数+1;
如果(idx>=$scope.sides.length){
idx=0;
}
$scope.sides[index].active=false;
$scope.sides[idx].active=true;
};

检查要设置的索引是否大于或小于最小/最大值。如果是,调整:

$scope.flipLeft = function (index){
    var idx = index - 1;

    if (idx < 0) {
       idx = $scope.sides.length - 1;
    }
    $scope.sides[index].active = false;
    $scope.sides[idx].active = true;
};

$scope.flipRight = function (index){
    var idx = index + 1;
    if (idx >= $scope.sides.length) {
       idx = 0;
    }
    $scope.sides[index].active = false;
    $scope.sides[idx].active = true;
};
$scope.flipLeft=函数(索引){
var idx=指数-1;
if(idx<0){
idx=$scope.sides.length-1;
}
$scope.sides[index].active=false;
$scope.sides[idx].active=true;
};
$scope.flipRight=函数(索引){
var idx=指数+1;
如果(idx>=$scope.sides.length){
idx=0;
}
$scope.sides[index].active=false;
$scope.sides[idx].active=true;
};

只需查看
侧面的大小即可。并在最后一个位置的索引值小于0或大于索引值时进行比较。只需查看
边的大小即可。并在最后一个位置的索引值小于0或大于索引值时进行比较。只需查看
边的大小即可。并在最后一个位置的索引值小于0或大于索引值时进行比较。只需查看
边的大小即可。并在最后一个位置的索引值小于0或超过索引值时进行比较。