자바스크립트 배열 요소 랜덤 선택하기

2023. 1. 5. 11:57·개발/JavaScript

자바스크립트 배열에 담긴 요소를 랜덤으로 선택하려면 어떻게 해야 할까요? 다양한 방법이 있지만 가장 많이 사용되는 방법은 다음과 같습니다.

배열 요소 랜덤 선택하기

아래와 같이 날씨의 정보를 담은 배열이 있다고 해보겠습니다.

const weather = ["Sunny", "Cloudy", "Rainy", "Windy"];

각 요소를 랜덤으로 선택하려면 아래와 같이 Math() 메소드를 사용할 수 있습니다.

Math.floor(Math.random() * weather.length);

Math.random()은 0에서 1 사이의 소수를 랜덤하게 생성해주는 메소드죠. 여기에 배열의 길이를 곱해준 다음 Math.floor()를 통해 정수로 만들어줍니다. 이렇게 하면 랜덤한 배열 인덱스를 받을 수 있습니다.

최종 구현

이를 활용하여 다음과 같이 배열 요소를 랜덤으로 선택하는 함수를 구현할 수 있습니다.

const weather = ["Sunny", "Cloudy", "Rainy", "Windy"];

function getRandomWeather() {
    const randomIndex = Math.floor(Math.random() * weather.length);
    return weather[randomIndex];
}

이벤트 리스너를 활용하여 다음과 같이 간단히 구현해보았습니다.

 

See the Pen Untitled by 11292021 (@11292021) on CodePen.

 

'개발 > JavaScript' 카테고리의 다른 글

자바스크립트 배열 forEach, filter, map 설명  (0) 2023.01.10
자바스크립트 디데이 계산하기  (0) 2023.01.04
자바스크립트 클래스 설명  (0) 2022.11.15
'개발/JavaScript' 카테고리의 다른 글
  • [JavaScript] 비구조적 할당 사용 방법과 이유
  • 자바스크립트 배열 forEach, filter, map 설명
  • 자바스크립트 디데이 계산하기
  • 자바스크립트 클래스 설명
휘Hwi
휘Hwi
여행, 사진, 개발, 책 이야기를 기록하는 여행자 휘의 블로그 𓂍
Klook.com
  • 휘Hwi
    휘: 끝나지 않은 이야기
    휘Hwi
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 기록
        • 일상 에세이
        • 인사이트
        • 투자와 재테크
        • 코인 이야기
        • 아카이빙
        • 집무실 레터
        • 사랑에 대하여
        • 번역 이야기(完)
        • 프리랜서 일지(完)
      • 여행
        • 🌎 세계 여행기 S1 (完)
        • 🌊 삼삼한 여행기 (完)
        • 🚶 온더로드
        • 🇯🇵 일본
        • 🏝️ 발리
        • 🇻🇳 베트남
        • 🇱🇰 스리랑카
        • 🇮🇳 인도
        • 🇹🇭 태국
        • 🇸🇬 싱가포르
        • 🇦🇺 호주
        • 🇭🇰 홍콩
        • 🇰🇷 한국
        • 🍚 여행자의 한 끼
        • ℹ️ 여행 정보
      • 사진
        • 사진가
        • 사진 이론과 생각
        • 사진 관련 정보
      • 영상
        • 파이널컷 모션 공부
        • 고프로 GoPro
        • 영상 관련 정보
      • 책
        • 책 읽고 쓰기
      • 개발
        • 티스토리
        • Internet
        • HTML
        • CSS
        • JavaScript
        • Typescript
        • React
        • Node.js
        • Express
        • NestJS
        • Python
        • Django
        • MySQL
        • MongoDB
        • AWS
        • Deployment
        • Terminal
        • Git
        • Glossaries
        • Articles
        • Projects
        • TIL;
      • 미분류
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
휘Hwi
자바스크립트 배열 요소 랜덤 선택하기
상단으로

티스토리툴바