알고리즘 구현
셔플 알고리즘은 다음과 같이 구현할 수 있습니다. var j, x, i; for (i = a.length-1; i> 0; i-) { j = math.floor (math.random () * (i 1)); x = a [i]; a [i] = a [j]; [J] = x; } 반환 a; }
이 알고리즘은 배열을 역 순서로 반복하여 각 요소를 배열에서 임의의 요소로 교체합니다. 결과 배열은 스왑의 임의의 특성으로 인해 섞여 있습니다.
사용법
function shuffle(a) { var j, x, i; for (i = a.length - 1; i > 0; i--) { j = Math.floor(Math.random() * (i 1)); x = a[i]; a[i] = a[j]; a[j] = x; } return a; }
셔플 함수는 다음 구문을 사용하여 배열을 셔플하는 데 사용될 수 있습니다.
var myarray = ; 셔플 (myArray);
es6 version
function shuffle(a) { var j, x, i; for (i = a.length - 1; i > 0; i--) { j = Math.floor(Math.random() * (i 1)); x = a[i]; a[i] = a[j]; a[j] = x; } return a; }
fisher-yates 알고리즘은 es6 :
function shuff (a) { for (i = a.length-1; i> 0; i-) { const j = math.floor (math.random () * (i 1)); [a [i], a [j]] = [a [j], a [i]]; } 반환 a; }
function shuffle(a) { var j, x, i; for (i = a.length - 1; i > 0; i--) { j = Math.floor(Math.random() * (i 1)); x = a[i]; a[i] = a[j]; a[j] = x; } return a; }구현 프로토 타입
, this [j]] = [this [j], this [i]]; } 이것을 반환하십시오; } }); 이 구현을 통해 arr.shuffle () 구문을 사용하여 배열을 섞을 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3