찾다

 >  Q&A  >  본문

배열의 순서를 무작위로 지정하는 방법은 무엇입니까?

JavaScript에서 요소 배열을 다음과 같이 섞고 싶습니다.

으아악


P粉512526720P粉512526720468일 전612

모든 응답(2)나는 대답할 것이다

  • P粉590428357

    P粉5904283572023-10-12 16:14:29

    Fisher-Yates Shuffle(이 웹사이트에서 가져온 코드)을 사용할 수 있습니다.

    으아악

    회신하다
    0
  • P粉316110779

    P粉3161107792023-10-12 10:21:15

    Fisher-Yates 셔플링 알고리즘의 최신 버전 을 사용합니다. :

    으아악

    ES2015(ES6) 버전

    으아악

    그러나 구조 분해 스왑 변수를 사용하면 2017년 10월부터 할당으로 인해 심각한 성능 저하가 발생한다는 점에 유의하세요.

    사용

    으아악

    프로토타입 구현

    Object.defineProperty(이 SO 답변에서 따옴 Object.defineProperty取自此SO答案的方法)我们还可以实现该函数作为数组的原型方法,而无需让它出现在诸如 for (i in arr) 之类的循环中。以下代码将允许您调用 arr.shuffle() 来随机排列数组 arr)를 사용하여 함수를 배열 프로토타입으로 구현할 수도 있습니다. for (i in arr)와 같은 루프에 표시되지 않는 메서드입니다. 다음 코드를 사용하면 arr.shuffle()을 호출하여 arr 배열을 섞을 수 있습니다.

    으아악

    회신하다
    0
  • 취소회신하다