JavaScript의 배열에서 임의의 요소 가져오기

여러분이 경품 응용 프로그램을 만들고 오늘이 추첨이라고 가정해 보겠습니다. 불행히도 10명의 참가자 목록이 있지만 그 중 한 명을 무작위로 승자로 선택하는 방법을 모릅니다.

괜찮아요! 몇 분 안에 JavaScript의 배열에서 임의의 요소를 가져올 수 있습니다!

수학 함수를 사용하여 배열에서 임의의 요소를 선택하는 방법



다음은 배열에서 임의의 요소를 가져오는 한 줄 명령입니다. YOUR_ARRAY[Math.floor(Math.random() * YOUR_ARRAY.length)] .

이 명령을 깨고 그것이 하는 일을 이해합시다.
  • YOUR_ARRAY는 배열 변수입니다(이 경우 10명의 참가자 이메일 주소).
  • YOUR_ARRAY.length는 배열의 크기를 반환하는 배열 속성입니다
  • .
  • Math.random()는 0에서 1 미만(0은 포함하지만 1은 제외) 범위의 의사 난수를 반환하는 함수입니다
  • .
  • Math.floor()는 주어진 숫자
  • 보다 작거나 같은 가장 큰 정수를 반환하는 함수입니다.

    Note: As Mozilla mentions, Math.random() does not provide cryptographically secure random numbers. It's not recommended to use them for anything related to security. Use the Web Crypto API instead, and more precisely, the window.crypto.getRandomValues() method.



    이제 각 지침을 알았습니다. 단계별 예를 보여 드리겠습니다.

    const participants = [
      '[email protected]',
      '[email protected]',
      '[email protected]',
      '[email protected]',
      '[email protected]',
      '[email protected]',
      '[email protected]',
      '[email protected]',
      '[email protected]',
      '[email protected]',
    ]
    
    console.log(participants.length)
    // Output: 10
    
    console.log(Math.random())
    // Output: random number between 0 or 1 (ex: 0.623242121481016)
    
    console.log(Math.random() * participants.length)
    // Output: random number between 0 or 1 multiplied by 10 (ex: 0.623242121481016 * 10 = 1.6905986987355703)
    
    console.log(Math.floor(Math.random() * participants.length))
    // Output: it takes the larger integer less than or equal to a given number (ex: Math.floor(1.6905986987355703) = 1)
    


    Note: If you try the code above, the result will always be different because of the Math.random() function.



    여기 있습니다! 경품 당첨자를 선정할 시간입니다! 이를 위해 이 기사에서 배운 내용을 사용하고 사용 사례에 사용할 것입니다.

    const participants = [
      '[email protected]',
      '[email protected]',
      '[email protected]',
      '[email protected]',
      '[email protected]',
      '[email protected]',
      '[email protected]',
      '[email protected]',
      '[email protected]',
      '[email protected]',
    ] // 10 participants
    
    const winner = participants[Math.floor(Math.random() * participants.length)]
    
    console.log(winner)
    // Output is random (launch this code to see who is the winner :D)
    


    그래서! 누가 잭팟을 이겼습니까? 😉


    ➡️ 웹 개발자의 기술 향상을 돕습니다 💻 웹 프로그래밍에 대한 더 많은 팁과 리소스를 얻고 싶다면 ->

    좋은 웹페이지 즐겨찾기