Permutaciones de un array

Crea una función que recibe un array de números y devuelve un array que contiene todas las permutaciones posibles.

Ejemplos

permutations([1]) ➞ [[1]]

permutations([1, 7]) ➞ [[1, 7], [7, 1]]

permutations([2, 4, 7]) ➞ [[2, 4, 7], [2, 7, 4], [4, 2, 7], [4, 7, 2], [7, 2, 4], [7, 4, 2]]

Notas

Ninguno de los arrays dados contiene duplicados.