我正在尝试以重复的方式创建数组的子集。我有一个形式为 [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);
}
});
任何想法将不胜感激。
最佳答案
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/