gpt4 book ai didi

javascript - Angular ,如果它具有特定的键/值,则跳过该值

转载 作者:数据小太阳 更新时间:2023-10-29 05:22:48 26 4
gpt4 key购买 nike

这里有一个奇怪的问题 - 所以我会尽量解释清楚。

我有一个简单的 ng-repeat,它将根据 .active 的键值设置为 true 来显示内容。我让用户使用绑定(bind)到某些 ng-click 的箭头按钮滚动浏览内容。这很好用,但是我想从数组中排除一个项目,如果它附加了 side = 'help' 的键值。所以基本上我希望箭头点击在某种意义上跳过它。不幸的是,我无法控制帮助项在数组中的位置。所以这里是点击函数

//flip right
$scope.flipRight = function(index, parent){
var idx = index + 1;
if (idx >= $scope.contentHere[parent].sides.length) {
idx = 0;
}
$scope.contentHere[parent].sides[index].active = false;
$scope.contentHere[parent].sides[idx].active = true;
};
//flip left
$scope.flipLeft = function(index, parent){
var idx = index - 1;
if (idx < 0) {
idx = $scope.contentHere[parent].sides.length - 1;
}
$scope.contentHere[parent].sides[index].active = false;
$scope.contentHere[parent].sides[idx].active = true;
};

所以基本上我想弄清楚的是,如果它有 .side = 'help',如何让这个逻辑跳过该项目。我考虑过使用 lodash 按没有值的项目过滤数组,但它会偏移索引,这样就不起作用了。我不确定如何处理这个问题(也许我对此的思考不正确?),并且可以使用一些指导。

感谢您花时间阅读!

最佳答案

$scope.flipRight = function(index, parent){
var idx = index + 1;
if(idx >= $scope.contentHere[parent].sides.length){
idx = 0;
}
if($scope.contentHere[parent].sides[idx] == 'help'){
$scope.flipRight(idx, parent); //Added to skip over to next item
$scope.contentHere[parent].sides[index].active = false; // Added for the first item does not turn .active to false Issue
return; // Added to skip execution of following line of codes incase of recursion
}
$scope.contentHere[parent].sides[index].active = false;
$scope.contentHere[parent].sides[idx].active = true;
};

//flip left
$scope.flipLeft = function(index, parent){
var idx = index - 1;
if (idx < 0) {
idx = $scope.contentHere[parent].sides.length - 1;
}
if($scope.contentHere[parent].sides[idx] == 'help'){
$scope.flipLeft(idx, parent); //Added to skip over to next item
$scope.contentHere[parent].sides[index].active = false; // Added for the first item does not turn .active to false Issue
return; // Added to skip execution of following line of codes incase of recursion
}
$scope.contentHere[parent].sides[index].active = false;
$scope.contentHere[parent].sides[idx].active = true;
};

关于javascript - Angular ,如果它具有特定的键/值,则跳过该值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27492186/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com