给定一个如下所示的旋转函数,它将数组旋转一定数量的槽。
是否有等效的 Ramda.js 函数或组合可以执行此轮换?
var test = [1,2,3,4,5,6,7,8,9];
function rotate(arr, count) {
arr = arr.slice();
while (count < 0) {
count += arr.length;
}
count %= arr.length;
if (count) {
arr.splice.apply(arr, [0, 0].concat([].slice.call(arr.splice(arr.length - count, count))));
}
return arr;
}
例子
rotate(test, 2) // -> [8, 9, 1, 2, 3, 4, 5, 6, 7]