<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<title>Document</title>
<script>
/*
listTrans의 조건
인덱스는 0~16, 중복되면 안됨, 4명씩 랜덤, 1조는 5명
*/
$(function() {
const listOri = ['김하나', '이하나', '이철진', '아무나', '서보게',
'이거나', '먹어라', '서효성', '프레스', '스미스',
'아이리', '가나다', '라라라', '스쿼트', '힘들다',
'빙빙빙', '아이폰'];
// let listTrans = [];
/* for문을 이용해서 인덱스를 하나씩 증가하고 마지막 요소의 인덱스는 0이 되도록 작업 */
// listTrans = [];
// for(i = 0; i < listOri.length; i++) {
// if ( i === listOri.length - 1) {
// listTrans[0] = listOri[i];
// }
// else {
// listTrans[i+1] = listOri[i];
// }
// }
listTrans = [];
for (let index in listOri) { //index 가 중요시 for in 문사용
if (!(index < listOri.length - 1)) {
listTrans[0] = listOri[index];
}
else {
listTrans[Number(index) + 1] = listOri[index];
}
}
// for (let item of listOri) {
// console.log(item);
// }
console.log(listTrans);
// 0 부터 16 사이의 정수를 랜덤으로 구하기
// Math.random() : 0부터 1미만의 난수 생성
console.log(Math.random());
// Math.floor() : 소수점 버림
console.log(Math.floor(Math.random()));
// * 3 하면 최대 2까지의 숫자만 나옴 즉 입력한 숫자-1 까지만 출력
console.log(Math.floor(Math.random() * 3 ));
listTrans = [];
console.log(listTrans);
for (let i = 0; i < listOri.length; i++) {
const item = listOri[i % listOri.length]; // 0 ~ 16 까지 인덱스 반환
if ($.inArray(item, listTrans) < 0) { // 값이 0보다 작으면 while문 실행
while (true) {
const randomNumber = Math.floor(Math.random() * listOri.length);
if (!listTrans[randomNumber]) {
listTrans[randomNumber] = item;
break;
}
}
}
}
console.log(listTrans);
});
</script>
</head>
<body>
</body>
</html>