[AS 3.0] 배열의 내용 랜덤하게 섞기
Study/Actionscript 3.0 2009/06/01 14:46 |배열의 내용을 정렬할 때, 랜덤으로 섞고 싶을 때가 있다.
없다고..? 언젠가 있을 거다...
우선은 sortByRandom라는 함수를 만든다. (myArray.sort() 메소드에서 sort할 방식을 정의한다고 보면 된다)
Math.random() 을 하면 0-1까지의 임의의 수가 나온다. 거기에서 0.5를 빼주게 되면 대략 1:1 비율로 음수와 양수가 되겠...지...??
sort() 메소드는 반환값 -1, 0, 1에 따라 순서가 정해지는데,
-1 : elementA 를 elementB 보다 앞에 위치시킴
0 : 두 수가 같음 (현재 순서 그대로 유지)
1 : elementA 를 elementB 보다 뒤에 위치시킴
이제 섞어봅시다.
myArray.sort(sortByRandom);
끝. 촴 쉽죠잉~
참고
댓글을 달아 주세요
액션 3.0 초초초보 입니다..
1부처9 까지의 숫자를 겹치지 않게 3개의 숫자를 뽑고 싶은 사람입니다... 나름 고민을 해봐도 쩝... 초보라.. 님이 만드신 화일을 올려주시면 도움이 될듯 싶습니다.. 감사합니다...^^
방법은 너무나 여러가지입니다.
초보시라면 파일을 원하시는 것보다 직접 만들어 보심이 더더욱 좋을 것 같네요.
위 포스트와 연관지어 생각한다면
배열에 1부터 9까지 넣으시고 랜덤으로 섞으신 다음에
섞인 배열에서 3개의 인덱스만 선택해 뽑으시면 되겠네요.