//숫자 4개를 겹치지 않고, 랜덤하게 뽑기
//
//답:
//
// 즉, 랜덤하게 뽑은 숫자를 만들어서 즉,
//랜덤숫자 만들때 원래는0에서 9까지 랜덤 숫자 뽑게한다음,
//그 0에서 9숫자중 뽑힌 랜덤숫자를
//index라는 변수로 저장하고, candidate[index] 하면 해당 인덱스 데이터가 나오고,
//(근데 문제는 splice해서 벼열을 삭제해가면서하는거라
//그에맞게 랜덤숫자로 처음엔 9 였다가 하나삭제되면 8 , 7 이런식으로 줄어야되서,
//그냥 candidate.length 하면 된다.그럼 자동으로 줄어든 배열로 계산이됨.)
//여튼...
// 반복문 4번을 돌게한다음
// candidate[index] 하면 결국 candidate의 해당 인덱스 값이 4번 뽑히는 거니까, 그 결과물을
//array 배열에 push해서 넣는다.
//데이터
const candidate = [1, 2, 3, 4, 5, 6, 7, 8, 9]; // 1에서 ~ 9까지
//const candidate = [2, 3, 4, 5]; // 2에서 5까지
//최종 결과물
const array = [];
/////////////////////////////////////////////////////////////////////////////////////////////
// 로직
//
// for (let i = 0; i < 4; i++) {
// // const index = Math.floor(Math.random() * candidate.length); // 0~9였다가 점점 length 줄어듬
// // //console.log("익덱스" + index);
// // array.push(candidate[index]);
// // candidate.splice(index, 1);
// //간단한 표현방식
// const chosen = candidate.splice(
// Math.floor(Math.random() * candidate.length),
// 1
// );
// array.push(chosen);
// console.log(chosen);
// }
// console.log("결과물" + array);
// console.log("원본" + candidate);
//결국 candidate배열을 수정해서, 즉 삭제시켜 원본이 훼손된 형태로 로직이 진행된다.
/////////////////////////////////////////////////////////////////////////////////////////////
// const logic = (v) => {
// const chosen = v.splice(Math.floor(Math.random() candidate.length), 1);
// array.push(chosen);
// };
const arr = candidate
.map((v, i) => v)
.splice(Math.floor(Math.random() candidate.length), 1);
console.log(arr);