split & join
๋ฐฐ์ด์ ๋ฌธ์๋ก ์ชผ๊ฐค ๋๋ split์ ์ฌ์ฉํ๊ณ , ๋ฌธ์๋ฅผ ๋ฐฐ์ด๋ก ํฉ์น ๊ฒฝ์ฐ์๋ join์ ์ฌ์ฉํ๋ค.
var ์ซ์๋ฐฐ์ด = ์
๋ ฅ์ฐฝ.value;//2879
String(์ซ์๋ฐฐ์ด[0])+String(์ซ์๋ฐฐ์ด[1])+String(์ซ์๋ฐฐ์ด[2])+String(์ซ์๋ฐฐ์ด[3]);//String์ ๋ถ์ด์ง ์์ผ๋ฉด ์ซ์ ๋ง์
์์ด ๋๊ธฐ ๋๋ฌธ์ String์ ๋ถ์ฌ์ค๋ค.
์ซ์๋ฐฐ์ด.join('');;//์์ ์ค๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค.
์ซ์์ผ๊ตฌ๋ฅผ ๊ตฌํํ ๋, ๋๋ต๊ณผ ์ ๋ต์ ์์๋ฅผ ๊ฐ๊ฐ ๋น๊ตํ์ฌ ํ๋ฐ์ธ์ง ํน์ ์คํธ๋ผ์ดํฌ์ ๋ถ์ ์๋ ค์ค์ผํ๊ธฐ ๋๋ฌธ์ split์ ์ฌ์ฉํ์ฌ ๊ฐ๊ฐ์ ์์๋ฅผ ๋ฐ์ง๋ค.
var body = document.body;//document.body๋ฅผ ํตํด์ ํ๋ฉด(document)์ ์ ๊ทผํ ์ ์๋ค
var ์ซ์ํ๋ณด = [1,2,3,4,5,6,7,8,9];
var ์ซ์๋ฐฐ์ด = [];//์ซ์์ผ๊ตฌ ์ ๋ต!
for (var i =0; i <4 ;i += 1) {
//var ๋ฝ์๊ฒ = ์ซ์ํ๋ณด.pop();๋ค์์๋ถํฐ ๋ฝ๋๋ค.
//var ๋ฝ์๊ฒ = ์ซ์ํ๋ณด.splice(5,2);//5๋ฒ์งธ๋ถํฐ 2๊ฐ 6,7์ ๋ฝ๋๋ค.
var ๋ฝ์๊ฒ = ์ซ์ํ๋ณด.splice(Math.floor(Math.random() * (9-i)),1)[0];//๋๋คํ index๋ฅผ ์์ฑํ์ฌ ๊ทธ ๋ค 2๊ฐ 6,7์ ๋ฝ๋๋ค, ํ๋ฒ ์ซ์๋ฅผ ๋ฝ์ผ๋ฉด ๋ฐฐ์ด ๊ธธ์ด๊ฐ 1์ฉ ๊ฐ์ํ๊ธฐ ๋๋ฌธ์ (9-i)๋ก ํด์ค๋ค.
์ซ์๋ฐฐ์ด.unshift(๋ฝ์๊ฒ);//์์์๋ถํฐ ๋ฃ๋๋ค. 4 3 2 1 ์์๋๋ก ๋ฃ์.
}
console.log(์ซ์๋ฐฐ์ด);
var fform = document.createElement('form');
document.body.append(fform);
var ์
๋ ฅ์ฐฝ = document.createElement('input');
์
๋ ฅ์ฐฝ.type = 'number';//์ด๋ ๊ฒ ํด์ค๋ ์
๋ ฅ์ฐฝ.value๋ ์ซ์๋ก ๋์ง ์๋๋ค.
์
๋ ฅ์ฐฝ.maxLength = 4;
fform.append(์
๋ ฅ์ฐฝ);//document>body๊ฐ ์๋๋ผ form ํ์์ ๋ง๋ค์ด์ค์ผํ๊ธฐ ๋๋ฌธ์.
var btn = document.createElement('button');
btn.textContent = '์
๋ ฅ';//ํ๊ทธ ์์ ๋ค์ด๊ฐ๋ ๊ธ์.
fform.append(btn);
var result = document.createElement('div');
document.body.append();
var trial = 0;//ํ๋ฆฐ ํ์
fform.addEventListener('submit',function ๋น๋๊ธฐ(e){//์ํฐ๋ฅผ ์ณค์ ๋
e.preventDefault();
var answer = ์
๋ ฅ์ฐฝ.value;
//console.log(answer,์ซ์๋ฐฐ์ด, ๋ต === ์ซ์๋ฐฐ์ด.join(''));
if(answer === ์ซ์๋ฐฐ์ด.join('')){//๋ต์ด ๋ง์ผ๋ฉด
result.textContent = 'ํ๋ฐ';//์
๋ ฅํ answer์ ์ ๋ต๊ณผ ์ผ์นํ๋ฉด 'ํ๋ฐ'
์
๋ ฅ์ฐฝ.value = '';
์
๋ ฅ์ฐฝ.focus();
//๋ค์ ๋ฌธ์ ๋ธ๋ค
์ซ์ํ๋ณด = [1,2,3,4,5,6,7,8,9];
์ซ์๋ฐฐ์ด = [];
for(var i = 0;i<4;i += 1) {
var ๋ฝ์๊ฒ = splice(Math.floor(Math.random * (9-i)),1)[0];
์ซ์๋ฐฐ์ด.push(๋ฝ์๊ฒ);
}
trial = 0;
} else {//์คํธ๋ผ์ดํฌ์ ๋ณผ์ ์๋ ค์ค์ผํ๊ธฐ ๋๋ฌธ์ split์ ์ฌ์ฉํ์ฌ ๊ฐ๊ฐ์ ์์๋ฅผ ๋ฐ์ง๋ค.
//9546์ ๋ฐฐ์ด๋ก ๋ง๋ค ์ ์๋ค.
//๋ฌธ์.split(๊ตฌ๋ถ์)->๋ฐฐ์ด (๋ฌธ์๋ฅผ ๋ฐฐ์ด๋ก ๋ฐ๊ฟ ๋ split)
//๋ฐฐ์ด.join(๊ตฌ๋ถ์)->๋ฌธ์ (๋ฐฐ์ด์ ๋ฌธ์๋ก ๋ฐ๊ฟ ๋ join)
var ๋ต๋ฐฐ์ด = answer.split('');//์
๋ ฅํ ๋๋ต์ ์ชผ๊ฐ์ ๋ต๋ฐฐ์ด์ ์ ์ฅํ๋ค.
var strike = 0;
var ball = 0;
trial += 1;
if(trial > 10) {//10๋ฒ ๋๊ฒ ํ๋ฆฐ ๊ฒฝ์ฐ
result.textContent = '10๋ฒ ๋๊ฒ ํ๋ ค์ ์คํจ! ๋ต์' + ์ซ์๋ฐฐ์ด.join(',')+'์์ต๋๋ค';
์
๋ ฅ์ฐฝ.value = '';
์
๋ ฅ์ฐฝ.focus();
//๋ฌธ์ ์๋ก ๋ธ๋ค.
์ซ์ํ๋ณด = [1,2,3,4,5,6,7,8,9];
์ซ์๋ฐฐ์ด = [];
for(var i = 0;i<4;i += 1) {
var ๋ฝ์๊ฒ = splice(Math.floor(Math.random * (9-i)),1)[0];
์ซ์๋ฐฐ์ด.push(๋ฝ์๊ฒ);
}
trial=0;
} else {//10๋ฒ ๋ฏธ๋ง์ผ๋ก ํ๋ฆฐ ๊ฒฝ์ฐ
console.log('๋ต์ด ํ๋ฆฌ๋ฉด');//์๋ฌ์์ธ์ track ํ๊ธฐ์ํด
for(var i=0; i <4; i++) {//4์๋ฆฌ ์ซ์์ด๊ธฐ ๋๋ฌธ์ 4๋ฒ ๋ฐ๋ณต
if(Number(๋ต๋ฐฐ์ด[i]) === ์ซ์๋ฐฐ์ด[i]){//๊ฐ์ ์๋ฆฌ, ๊ฐ์ ์ซ์์ธ์ง ํ์ธ.๋ต๋ฐฐ์ด(์
๋ ฅํ ๋๋ต)์ ์ซ์๋ฐฐ์ด(์ซ์์ผ๊ตฌ ์ ๋ต)์ ๊ฐ๊ฐ์ ์์(i๋ฒ์งธ ์์)๋ฅผ ๋น๊ตํ๋ค.
console.log('๊ฐ์ ์๋ฆฌ?',๋ต๋ฐฐ์ด);
strike += 1;
}
else if (์ซ์๋ฐฐ์ด.indexOf(Number(๋ต๋ฐฐ์ด[i])) > -1){//๊ฐ์ ์๋ฆฌ๋ ์๋์ง๋ง ์ซ์๊ฐ ๊ฒน์น๋์ง ํ์ธ.๋ฐฐ์ด.indexOf(๊ฐ) : ๊ฐ์ ์์น๋ฅผ ์ ์ ์๋ค. ์์ผ๋ฉด -1. ๊ทธ๋ฌ๋ฏ๋ก -1๊ณผ ๋น๊ตํ์ฌ -1๋ณด๋ค ํฌ๋ฉด ๋ค์ด์๋ค.
console.log('๊ฒน์น๋ ์ซ์?');
ball += 1;
}
}
}
result.textContent = strike + '์คํธ๋ผ์ดํฌ' + ๋ณผ + '๋ณผ์
๋๋ค.';
์
๋ ฅ์ฐฝ.value = '';
์
๋ ฅ์ฐฝ.focus();
}
});
Last updated