첫 번째 코드
[1, 2, 3, 4, 5].sort(() => Math.random() - 0.5);
Math.random 메서드는 0부터 1까지의 난수를 반환합니다. 이 때 0.5는 반환되는 난수의 중간 값입니다.
이를 이용하여 sort 메서드로 매번 랜덤 한 값으로 정렬시켜 섞어줍니다.
두 번째 코드
const getRandom = () => Math.floor(Math.random() * tmpArray.length);
const tmpArray = [1, 2, 3, 4, 5];
const array = [...tmpArray].map(_ => tmpArray.splice(getRandom(), 1)[0]);
console.log(array);
tmpArray 배열에서 값을 랜덤 하게 하나씩 뽑아 새로운 배열을 구성하는 방식입니다.