旋转数组

84 阅读1分钟

旋转数组

题目

定义一个函数,实现数组的旋转。如输入 [1, 2, 3, 4, 5, 6, 7]key = 3, 输出 [5, 6, 7, 1, 2, 3, 4]
考虑时间复杂度和性能

export function rotateArray(arr, k) {
    const length = arr.length
    if (!k || length === 0) return arr
    const step = Math.abs(k % length)
    const part1 = arr.slice(-step)
    const part2 = arr.slice(0, length - step)
    const part3 = part1.concat(part2)
    return part3
}