간단한 무작위 섞기 트릭- array.sort(() => Math.random() - 0.5

이희연·2025년 5월 30일

🔀 배열을 랜덤하게 섞는 가장 간단한 방법 (JavaScript)

✅ 핵심 코드

array.sort(() => Math.random() - 0.5);

✅ 왜 작동할까?

  • sort()는 배열을 정렬할 때 두 요소(a, b)를 비교

  • Math.random()은 0~1 사이의 랜덤한 숫자를 반환

  • 그래서 Math.random() - 0.5는:

    • 음수 → 앞뒤 요소 자리 바꿈
    • 양수 → 그대로 유지
  • 이 결과로 인해 배열 전체가 무작위 순서로 섞이게 됨

✅ 예시 코드

const arr = [1, 2, 3, 4, 5];
const shuffled = arr.sort(() => Math.random() - 0.5);
console.log(shuffled);
const arr = [1, 2, 3, 4];

arr.sort((a, b) => {
  const rand = Math.random() - 0.5;
  console.log(`비교: ${a} vs ${b} → 결과: ${rand}`);
  return rand;
});

⚠️ 주의

  • 작은 배열에는 괜찮지만, 완전한 무작위성을 보장하진 않음
  • 대규모 또는 중요한 경우엔 Fisher–Yates Shuffle 추천

💬 한 줄 요약

배열을 간단히 섞고 싶다면 array.sort(() => Math.random() - 0.5) 외워두자!


profile
코린이🌱 / 개인적인 공부기록 공간입니다, 제로베이스부트캠프 수강중...😄

0개의 댓글