Js에서 사용하는 랜덤 생성 코드
Math.random, Lodash, sort() 이용해서 랜덤해보자
자세히 알아보자.
Math.random
Math.random 함수를 사용하여 배열에서 임의의 인덱스를 가져올 수 있습니다.
그런 다음 랜덤한 인덱스를 사용하여 배열에서 요소를 가져올 수 있습니다.
다음은 Math.random() 함수를 사용하여 배열에서 랜덤한 값을 추출하는 예제입니다.
const strArray = ['A', 'B', 'C', 'D', 'E'];
const randomValue = strArray[Math.floor(Math.random() * strArray.length)];
Math.random() 함수는 0 ~ 1 사이의 숫자를 반환합니다.
그리고 0과 배열의 마지막 인덱스 사이의 값을 구하기 위해서는 Math.random() 함수와 배열의 length를 곱합니다.
마지막으로 Math.random() 함수의 반환 값 * 배열의 length는 정수 또는 실수이므로 Math.floor() 함수를 호출하여 정수로 반올림합니다.
Lodash
Lodash는 JavaScript에서 array, collection, date 등 데이터를 쉽게 다룰 수 있게 해주는 라이브러리입니다.
크롬 콘솔에서 테스트하기 위해서는 아래 명령어를 콘솔에 입력합니다.
fetch('https://cdn.jsdelivr.net/npm/lodash@4.17.4/lodash.min.js')
.then(response => response.text())
.then(text => eval(text))
다음은 Lodash에서 지원하는 sample() 함수를 사용하여 컬렉션에서 임의의 요소를 가져오는 예제입니다.
const strArray = ['A', 'B', 'C', 'D', 'E'];
const randomValue = _.sample(strArray);
다른 배열에서 임의의 요소를 가져오는 다른 방법으로는 random() 함수가 있습니다.
const strArray = ['A', 'B', 'C', 'D', 'E'];
const randomValue = _.random(0, strArray.length - 1, false);
첫 번째 매개변수와 두 번째 매개변수인 (배열의 길이 - 1) 사이의 랜덤 값을 반환합니다.
세 번째 매개변수는 실수 반환 여부입니다.
마지막 방법으로는 shuffle() 함수가 있습니다.
shuffle() 함수는 배열 또는 객체의 요소를 섞습니다.
const strArray = ['A', 'B', 'C', 'D', 'E'];
const randomArray = _.shuffle(strArray);
const [randomValue] = randomArray;
ES6의 구조 분해 할당을 사용하여 뒤섞인 배열의 첫 번째 요소를 얻습니다.
sort() 함수로 섞기(Shuffle)
배열의 sort() 함수를 사용하여 배열을 섞을 수 있습니다.
const strArray = ['A', 'B', 'C', 'D', 'E'];
const randomArray = strArray.sort(() => 0.5 - Math.random())
const [randomValue] = randomArray;
Lodash의 shuffle() 함수 예제와 마찬가지로 구조 분해 할당을 사용하여 첫 번째 요소를 얻습니다.
'Sparta Coding Club > Today I Learned [TIL]' 카테고리의 다른 글
[TIL] #DAY - 046 - getElementbyId (내일배움캠프AI 3기) (0) | 2022.11.10 |
---|---|
[TIL] #DAY - 045 - Js location.search (내일배움캠프AI 3기) (0) | 2022.11.08 |
[TIL] #DAY - 043 - 장고 모델 필드 정리 (내일배움캠프AI 3기) (0) | 2022.11.04 |
[TIL] #DAY - 042 - SQLite3 DB를 csv로 저장하기 (내일배움캠프AI 3기) (0) | 2022.11.04 |