배열에서 N 개의 무작위 요소

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 JavaScript 를 사용하여 배열에서 무작위 요소를 선택하는 방법을 살펴봅니다. Fisher-Yates 알고리즘을 사용하여 배열을 섞는 방법과 이를 사용하여 배열에서 하나 이상의 요소를 무작위로 선택하는 방법을 배웁니다. 이 랩은 배열 조작에 대한 이해를 높이고 JavaScript 에서 문제 해결 능력을 향상시키도록 설계되었습니다.

코드 연습: 배열에서 무작위 요소 가져오기

코딩 연습을 위해 터미널/SSH 를 열고 node를 입력하세요. 다음 코드는 Fisher-Yates 알고리즘을 사용하여 배열을 섞고, 배열 크기까지 배열에서 고유한 키를 가진 n개의 무작위, 고유한 요소를 검색합니다.

const sampleSize = ([...arr], n = 1) => {
  let m = arr.length;
  while (m) {
    const i = Math.floor(Math.random() * m--);
    [arr[m], arr[i]] = [arr[i], arr[m]];
  }
  return arr.slice(0, n);
};

이 코드를 사용하려면 배열과 검색할 요소의 선택적 숫자 n으로 sampleSize()를 호출합니다. n이 제공되지 않으면 함수는 배열에서 무작위로 하나의 요소만 반환합니다.

sampleSize([1, 2, 3], 2); // [3, 1]
sampleSize([1, 2, 3], 4); // [2, 3, 1]

요약

축하합니다! 배열에서 N 개의 무작위 요소 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.