gpt4 book ai didi

javascript - 使用 Javascript 和 Angularjs 创建数组的子集

转载 作者:行者123 更新时间:2023-12-02 15:00:42 25 4
gpt4 key购买 nike

我正在尝试以重复的方式创建数组的子集。我有一个形式为 [0,1,2,3,4,5,6] 的数组。我想创建像 [0,1,2] 这样的子集, [1,2,3] , [2,3,4] , [3,4,5] , [4,5,6] , [5,6,0] , [6,0,1] , [0,1,2]等等。但是,它在 [4,5,6] 之后并没有中断。 。

这是我的代码

var app = angular.module('app',[]);
app.controller('EventController',function EventController($scope) {
$scope.count = 0;
var arr = [], subArr = [], currentIndex;
for(var i = 0; i < 7; i++) {
arr.push(i)
}
$scope.next = function() {
currentIndex = $scope.count;
subArr = [];
$scope.count++;
subArr.push(currentIndex);
subArr.push(currentIndex+1);
subArr.push(currentIndex+2);
if(arr.indexOf(currentIndex+1) == -1) {
console.log(currentIndex+1,'Element not available');
$scope.count = 0;
currentIndex = $scope.count
}
console.log(subArr);
}
});

Here is the fiddle

任何想法将不胜感激。

最佳答案

Try this:

var app = angular.module('app',[]);
app.controller('EventController',function EventController($scope) {
$scope.count = 0;
var subArr = [], currentIndex;
$scope.arr = [];
for(var i = 0; i < 7; i++) {
$scope.arr.push(i);
}

$scope.next = function() {
currentIndex = $scope.count;
//console.log(currentIndex);
subArr = [];
$scope.count++;
subArr.push(currentIndex);
if($scope.arr.indexOf(currentIndex) == $scope.arr.length -2) {
console.log(currentIndex+2,'Element not available');
subArr.push(currentIndex+1);
$scope.count = 0;
subArr.push($scope.arr[0]);

}
else if($scope.arr.indexOf(currentIndex) == $scope.arr.length -1) {
console.log(currentIndex+1,'Element not available');
subArr.push($scope.arr[0]);
subArr.push($scope.arr[1]);
currentIndex = $scope.count;
}
else{
subArr.push(currentIndex+1);
subArr.push(currentIndex+2);
}
console.log(subArr);
}
});

关于javascript - 使用 Javascript 和 Angularjs 创建数组的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35448409/

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