Мне нужно сделать диапазон от 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
Решение основано на понимании, которое должно идти до 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]
range = (min, max) ->
input = []
i = max
while i > min
input.push i
i -= 1
input
console.log(range( 10, 50 ));
Просто попробуйте установить я = max, а затем подсчитать я с условием, что я должно быть больше min. Это. Попробуйте код выше.
while i >= min
. И вы даете границы в обратном порядке.
arr = [{id:1, name: 'John'}, {id:2, name: 'Mark'}, {id:3, name: 'Jim'},{id:4, name: 'Bob'} ... ];
это не работает?