js๋ฏธ๋๊ฒ์ ํ๋ก์ ํธ๋ก ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํ์ฉํ ๋ก๋ ๋ฒํธ ์ถ์ฒจ๊ธฐ๋ฅผ ๋ง๋ค์ด ๋ณด๋ ค๊ณ ํ๋ค.
๋ก๋ ๋ฒํธ ์ถ์ฒจ๊ธฐ์ ์ค์ํ ๊ธฐ๋ฅ ๋ฐฉ์์ 1 ~ 45์ ๋ฒ์์ ์ ์๋ก ์ด๋ฃจ์ด์ ธ ์๋ ์ซ์๋ฅผ ๋๋คํ๊ฒ 6๊ฐ๋ฅผ ๋ฝ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํด ์ฃผ๋๊ฒ์ด๋ค.
๊ทธ๋ฌ๊ธฐ ์ํด์ ์์์ผํ ๋ช๊ฐ์ง ํค์๋๋ฅผ ์ ๋ฆฌํ๊ณ ๋์ด๊ฐ์ผํ๋ค.
math.random() : 0๋ถํฐ 1์ฌ์ด์ ๋์(๋๋คํ ์)๋ฅผ ๋ฐํํ๋ ํจ์์ด๋ค.(1์ ํฌํจํ์ง ์๋๋ค.)
Math.floor() : ์ฃผ์ด์ง ์ซ์๋ฅผ ์์์ ์ดํ๋ฅผ ๋ฒ๋ฆฐ ์ ์๋ก ๋ด๋ฆผํ๋ ํจ์์ด๋ค.
parseInt() : ๋ฌธ์์ด์ ์ซ์ํ์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ ๋งค์๋์ด๋ค.
์ ์๋ก ๋ฐ๊ฟ์ฃผ๊ธฐ ๋๋ฌธ์ ๊ด์ฐฎ์๊ฑฐ ๊ฐ๊ธดํ๋ฐ ๊ตณ์ด...?
includes() : ๋ฐฐ์ด์ด ํน์ ์์๋ฅผ ํฌํจํ๊ณ ์๋์ง๋ฅผ ๊ฒ์ฌํ๋ ํจ์์
๋๋ค.
includes() ๋ฉ์๋๋ ๋ถ๋ฆฌ์ธ(Boolean) ๊ฐ์ ๋ฐํํ๋ฉฐ, ํฌํจํ๊ณ ์๋ค๋ฉด true, ๊ทธ๋ ์ง ์๋ค๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค.
์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก๋ ๋น๋ฐฐ์ด์ ๊ฑฐ๋ฅผ์ ์๊ธฐ ๋๋ฌธ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค..
var lottoArr = []; // ๋น๋ฐฐ์ด ์์ฑ
for(let i = 0; i < 6; i++){ // 6๋ณด๋ค ์์๋ ๊น์ง ๋ฐ๋ณต
var num = Math.random() * 45 + 1; // 1~45 ์ฌ์ด์ ์ค์ ๋ฌด์์๋ก ์์ฑ
var parse = parseInt(num); // ์ค์๋ฅผ ์ ์๋ก ๋ฐ๊ฟ์ค
lottoArr.forEach((data)=>{
if(parse == data){
parse = parseInt(num);
}
// ๋ฐ์์จ ๋ฐฐ์ด ์ค ์ค๋ณต์๊ฐ ์์ผ๋ฉด ์๋ฅผ ๋ค์ ์์ฑ
});
lottoArr.push(parse); // ๋ฐฐ์ด์ ์ถ๊ฐ
}
console.log(lottoArr);
document.write('์ด๋ฒ์ฃผ ๋ก๋ ๋ฒํธ๋ : ' + lottoArr);
์ด ์ฝ๋์์๋ ๋น๋ฐฐ์ด ๋๊ฐ๋ฅผ ์์ฑํด์ ์ฒซ๋ฒ์งธ ๋ฐฐ์ด lottoArr
์ 1 ~ 45 ์ฌ์ด์ ์ ์ ๋์๋ฅผ ์ถ๊ฐํ๊ณ , ์์ฑ๋ ๋ฐฐ์ดlottoArr
์ forEach ๋ฌธ์ ํ์ฉํด ๋ชจ๋ ์ธ์๊ฐ์ ๋ฐ์์, ์ค๋ณต์๊ฐ ์์ผ๋ฉด ์๋ก์ด ๋ฐฐ์ด newArr
์ ๋ค์ ํ ๋นํ๋ ์์ผ๋ก ํ๋๋ฐ...
๋ฌธ์ ๋ ์ค๋ณต์๋ ํ์คํ๊ฒ ์ ์ธํ ์์๋๋ฐ..
์ค๋ณต์๊ฐ ๋ฐ์ํ๊ฒ ๋๋ฉด ๋ฐฐ์ด๊ฐ์ด 5๊ฐ๊ฐ ๋๋ค๋ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
var lottoArr = [];
var newArr = [];
// ๋น ๋ฐฐ์ด ๋๊ฐ ์์ฑ
for(let i = 0; i < 6; i++){
var num = parseInt(Math.random() * 45 + 1);
// 1~45์ฌ์ด์ ์ ์์์ฑ
lottoArr.push(num); // lottoArr ๋ฐฐ์ด์ ์ถ๊ฐ
}
lottoArr.forEach((data)=>{
// ์์ฑ๋ lottoArr์ ์ธ์๊ฐ data ๋ฅผ ๋ฐ์์จ๋ค
if(!newArr.includes(data)){
newArr.push(data);
// ์๋ก์ด ๋ฐฐ์ด newArr ์ lottoArr์์ ๋ฐ์์จ ์ธ์๊ฐ์ด ์์ผ๋ฉด newArr๋ฐฐ์ด์ ์ถ๊ฐ ํ๋ค.
// ๋ง์ฝ newArr์ ์ถ๊ฐ๋ data ๊ฐ์ด ์ค๋ณต๋๋ฉด ์ถ๊ฐํ์ง ์๋๋ค.
}
});
newArr.sort((a,b)=> a-b); // ์ค๋ฆ์ฐจ์
console.log(newArr);
๋๋ฒ์งธ ์๋์์์ ๋ฌธ์ ๋ ์ค๋ณต๊ฐ ์ ๊ฑฐ๋ ์ฑ๊ณตํ์ง๋ง ๋ฐฐ์ด์ด 5๊ฐ์์ ๋ฉ์ถ๋ ์ํฉ์ด๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์์ ์ํฉ์์ for๋ฌธ ๋์ while๋ฌธ์ ์ฌ์ฉํ๋ฉด ์กฐ๊ฑด์ด 6์ผ๋ ๊น์ง
๋ฐฐ์ด์ ์์ฑํด์ฃผ๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ ์ ์๋คโฆ
var lottoArr = []; // ๋น๋ฐฐ์ด ์์ฑ
while(lottoArr.length < 6){
var num = Math.floor(Math.random() * 45 + 1);
if(!lottoArr.includes(num)){ // lottoArr์ num์ด ์์๋
lottoArr.push(num) // num์ ๋ฐฐ์ด์ ์ถ๊ฐ
}
}
lottoArr.sort((a,b)=> a-b);
console.log(lottoArr);
document.write('์ด๋ฒ์ฃผ ๋ก๋ ๋ฒํธ๋ : ' + lottoArr);