我需要制作1到15的范围并且某种反转。 目前我正在使用下一个脚本:
$scope.range = (min, max) ->
input = []
i = min
while i < max
input.push i
i += 1
input
因此,如果将range(1,15)
设为1 2 3 4 5 6 7 8 9 10 11 ... 15
我需要的是range(10, 3)
它应该放10 11 12 13 14 15 1 2 3
答案 0 :(得分:1)
range = (min, max) ->
input = []
i = max
while i > min
input.push i
i -= 1
input
console.log(range( 10, 50 ));
多数民众赞成真的很简单,试着设定i = max然后用我必须大于min的条件计算i。就是这样。试试上面的代码。
答案 1 :(得分:0)
解决方案基于必须达到15的理解,订单必须如下所示:
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
function range(min, max) {
var startArr = arr.slice(arr.indexOf(min)),
endArr = max < arr.length ? arr.slice(0, arr.indexOf(max) + 1) : [];
return startArr.concat(endArr);
}
range(10, 3);
//[10,11,12,13,14,15,1,2,3]
的 DEMO 强>