要求是迭代数组中的一组值。
$scope.weekArray=["Sun","Mon","Tue","Wed","Thurs","Fri","Sat"];
我有以前的持续时间值和当前日期。如果之前的持续时间值为 5,我需要找出当天的索引,即当天前 5 天。 例如: 如果今天是星期一,我需要在星期一之前找到 5 天。答案是星期四(包括星期一)。请让我知道该怎么做。
最佳答案
可以使用模块化的 %
运算符在 Javascript 中对数组进行循环迭代。
与 array.length
和 array.indexOf()
一起使用,你可以做你想做的事情:
$scope.weekArray=["Sun","Mon","Tue","Wed","Thurs","Fri","Sat"];
var currentDay = "Mon";
var indexOfCurrentDay = $scope.weekArray.indexOf(currentDay);
var whatYouWant = (indexOfCurrentDay-previous_duration);
//note that modulo does not work with negative numbers.
while (whatYouWant < 0)
whatYouWant += $scope.weekArray.length;
whatYouWant = whatYouWant % $scope.weekArray.length;
这是一个有效的 jsFiddle:https://jsfiddle.net/hf4zqnwu/3/
关于javascript - 数组中一组值的循环迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33759199/