Desplazamiento a la izquierda y a la derecha

Crea dos funciones: una función de desplazamiento a la izquierda y una función de desplazamiento a la derecha. Cada función recibirá un arreglo y un solo parámetro: el número de desplazamientos.

[1, 2, 3, 4, 5]

[2, 3, 4, 5, 1]  // desplazamiento a la izquierda de 1
[5, 1, 2, 3, 4]  // desplazamiento a la izquierda de 4

[5, 1, 2, 3, 4]  // desplazamiento a la derecha de 1
[3, 4, 5, 1, 2]  // desplazamiento a la derecha de 3

Ejemplos

leftShift([1, 2, 3, 4], 1) ➞ [2, 3, 4, 1]

rightShift([1, 2, 3, 4], 1) ➞ [4, 1, 2, 3]

leftShift([1, 2, 3, 4, 5], 3) ➞ [4, 5, 1, 2, 3]

leftShift([1, 2, 3, 4, 5], 5) ➞ [1, 2, 3, 4, 5]
// Cuando hayas desplazado el arreglo por completo, volverás al punto de partida.

leftShift([1, 2, 3, 4, 5], 6) ➞ [2, 3, 4, 5, 1]
// Deberías poder recibir números mayores que la longitud.
// Considera la longitud del arreglo como un módulo.

Notas

  • num puede ser mayor que la cantidad de valores del arreglo.
  • num nunca será negativo.