โ ์ง๊ธ๊น์ง์ ์ฝ๋
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>์ซ์์ผ๊ตฌ ๊ฒ์</title>
</head>
<body>
<form id="form">
<input type="text" id="input">
<button>ํ์ธ</button>
</form>
<div id="logs"></div>
<script>
const $input = document.querySelector('#input');
const $form = document.querySelector('#form');
const $logs = document.querySelector('#logs');
//numbers ๋น ๋ฐฐ์ด ๋ง๋ค๊ณ ๊ทธ ์์ 1~9๊น์ง์ ์ซ์ ๋ฃ๊ธฐ.
const numbers = []; //[1,2,3,4,5,6,7,8,9]
for (let n=0; n<9; n+=1){
numbers.push(n+1);
}
//์ซ์ 4๊ฐ ๋ฝ๊ธฐ.
//answer ๋น ๋ฐฐ์ด ๋ง๋ค๊ณ , numbers ๋ฐฐ์ด๋ก๋ถํฐ ์ซ์๋ฅผ ํ๋์ฉ ๊บผ๋ธ๋ค. 4๋ฒ ๋ฐ๋ณตํ๋ค.
const answer = [];
for (let n=0; n<=3; n+=1){ // 4๋ฒ ๋ฐ๋ณต.
const index = Math.floor(Math.random() * (numbers.length-n)); // 0 ~ 8 ์ ์. (+1 ์ถ๊ฐํ๋ฉด 0 ~ 9 ์ ์.)
answer.push(numbers[index]); //index๋ฅผ ๋ฌด์์๋ก ๋ฝ๊ณ ,numbers[index]๋ก ์ค์ ์ซ์๋ฅผ ๊ฐ์ ธ์จ๋ค.
//๊ทธ๋ฆฌ๊ณ answer ๋ฐฐ์ด์ ๋ฝ์ ์ซ์๋ฅผ ์ถ๊ฐ (push)ํ๋ค.
numbers.splice(index,1); //numbers ๋ฐฐ์ด์์๋ ์ ๊ฑฐ(splice)ํ๋ค.
//(numbers๋ฐฐ์ด์์ ๋ฝ์์ผ๋๊น ์ญ์ ํ๋ ๊ฒ์ด๋ค.)
}
console.log(answer);
const tries = [];
function checkInput(input) {
if (input.length != 4) { //๊ธธ์ด๋ 4๊ฐ ์๋๊ฐ.
return alert('4์๋ฆฌ ์ซ์๋ฅผ ์
๋ ฅํด ์ฃผ์ธ์.');
}
if (new Set(input).size != 4) { //์ค๋ณต๋ ์ซ์๊ฐ ์๋๊ฐ.
//new Set์ ์ค๋ณต์ด ์๋ ๋ฐฐ์ด์ด๋ค.
return alert ('์ค๋ณต๋์ง ์๊ฒ ์
๋ ฅํด์ฃผ์ธ์.');
}
if (tries.includes(input)){ //์ด๋ฏธ ์๋ํ ๊ฐ์ ์๋๊ฐ.
return alert ('์ด๋ฏธ ์๋ํ ๊ฐ์
๋๋ค.');
}
return true;
}
$form.addEventListener('submit',(event)=>{
event.preventDefault(); //ํผ ํ๊ทธ์ ๊ธฐ๋ณธ ๋์์ ์ทจ์ํ๋ ์ฝ๋.
const value = $input.value;
$input.value = ''; //์
๋ ฅํ ๊ฐ์ ๊ฐ์ ธ์ค๋ ์ฝ๋. ( ์ซ์๊ฐ ์๋๋ผ ๋ฌธ์์ด๋ก ๊ฐ์ด ๋ค์ด์ด)
if (checkInput(value)){ //์
๋ ฅํ ๊ฐ์ checkInput ํจ์๋ก ๊ฒ์ฆ.
//์
๋ ฅ๊ฐ ๋ฌธ์ ์์ ๋.
tries.push(value);
} else {
//์
๋ ฅ๊ฐ ์๋ฌ ์์ ๋.
}
});
</script>
</body>
</html>
<!--์ฝ๋์ถ์ฒ (๋์) Let's Get IT ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ-->
๐ ์ ๋ ฅ๊ฐ๊ณผ ์ ๋ต ๋น๊ตํ๊ธฐ
๐ค ํ๋ฐ์ธ์ง ๊ฒ์ฌํด์ ํ์ํ๊ธฐ
ํ๋ฐ์ธ์ง ๊ฒ์ฌํ๋ ๋ถ๋ถ๊ณผ ์๋ ํ์๊ฐ 10๋ฒ์ ๋๊ฒผ๋์ง ๊ฒ์ฌํ๋ ๋ถ๋ถ์ ์ถ๊ฐํ์.
์๋ ํ์๋ tries ๋ฐฐ์ด์ length๋ฅผ ๊ฒ์ฌํ๋ฉด ๋๋ค.
<script>
const $input = document.querySelector('#input');
const $form = document.querySelector('#form');
const $logs = document.querySelector('#logs');
//numbers ๋น ๋ฐฐ์ด ๋ง๋ค๊ณ ๊ทธ ์์ 1~9๊น์ง์ ์ซ์ ๋ฃ๊ธฐ.
const numbers = []; //[1,2,3,4,5,6,7,8,9]
for (let n=0; n<9; n+=1){
numbers.push(n+1);
}
//์ซ์ 4๊ฐ ๋ฝ๊ธฐ.
//answer ๋น ๋ฐฐ์ด ๋ง๋ค๊ณ , numbers ๋ฐฐ์ด๋ก๋ถํฐ ์ซ์๋ฅผ ํ๋์ฉ ๊บผ๋ธ๋ค. 4๋ฒ ๋ฐ๋ณตํ๋ค.
const answer = [];
for (let n=0; n<=3; n+=1){ // 4๋ฒ ๋ฐ๋ณต.
const index = Math.floor(Math.random() * (numbers.length-n)); // 0 ~ 8 ์ ์. (+1 ์ถ๊ฐํ๋ฉด 0 ~ 9 ์ ์.)
answer.push(numbers[index]); //index๋ฅผ ๋ฌด์์๋ก ๋ฝ๊ณ ,numbers[index]๋ก ์ค์ ์ซ์๋ฅผ ๊ฐ์ ธ์จ๋ค.
//๊ทธ๋ฆฌ๊ณ answer ๋ฐฐ์ด์ ๋ฝ์ ์ซ์๋ฅผ ์ถ๊ฐ (push)ํ๋ค.
numbers.splice(index,1); //numbers ๋ฐฐ์ด์์๋ ์ ๊ฑฐ(splice)ํ๋ค.
//(numbers๋ฐฐ์ด์์ ๋ฝ์์ผ๋๊น ์ญ์ ํ๋ ๊ฒ์ด๋ค.)
}
console.log(answer);
const tries = [];
function checkInput(input) {
if (input.length != 4) { //๊ธธ์ด๋ 4๊ฐ ์๋๊ฐ.
return alert('4์๋ฆฌ ์ซ์๋ฅผ ์
๋ ฅํด ์ฃผ์ธ์.');
}
if (new Set(input).size != 4) { //์ค๋ณต๋ ์ซ์๊ฐ ์๋๊ฐ.
//new Set์ ์ค๋ณต์ด ์๋ ๋ฐฐ์ด์ด๋ค.
return alert ('์ค๋ณต๋์ง ์๊ฒ ์
๋ ฅํด์ฃผ์ธ์.');
}
if (tries.includes(input)){ //์ด๋ฏธ ์๋ํ ๊ฐ์ ์๋๊ฐ.
return alert ('์ด๋ฏธ ์๋ํ ๊ฐ์
๋๋ค.');
}
return true;
}
$form.addEventListener('submit',(event)=>{
event.preventDefault(); //ํผ ํ๊ทธ์ ๊ธฐ๋ณธ ๋์์ ์ทจ์ํ๋ ์ฝ๋.
const value = $input.value;
$input.value = ''; //์
๋ ฅํ ๊ฐ์ ๊ฐ์ ธ์ค๋ ์ฝ๋. ( ์ซ์๊ฐ ์๋๋ผ ๋ฌธ์์ด๋ก ๊ฐ์ด ๋ค์ด์ด)
if (checkInput(value)){ //์
๋ ฅํ ๊ฐ์ checkInput ํจ์๋ก ๊ฒ์ฆ.
//์
๋ ฅ๊ฐ ๋ฌธ์ ์์ ๋.
if (answer.join('') === value){
$logs.textContent = 'ํ๋ฐ';
return;
}
if (tries.length >= 9){
const message = document.createTextNode(`ํจ๋ฐฐ. ์ ๋ต์ ${answer.join('')}`);
$logs.appendChild(message);
return;
}
//๋ช ์คํธ๋ผ์ดํฌ ๋ช ๋ณผ์ธ์ง ๊ฒ์ฌ
} else {
//์
๋ ฅ๊ฐ ์๋ฌ ์์ ๋.
}
tries.push(value);
});
</script>
<!--์ฝ๋์ถ์ฒ (๋์) Let's Get IT ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ-->
if๋ฌธ์ด ์ฌ๋ฌ๊ฐ ๋ฐฉ๋ฒ์ด ๋๋ค. ์ด๊ฒ์ ์ค์ฌ์ผ ํ๋ค. ํ๋ฒ ์ค์ฌ๋ณด๊ฒ ๋ค.
if ๋ฌธ ์ค์ฒฉ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ ์ฐธ๊ณ .
[ JavaScript ] ํจ์ ์ฌ์ฉํ๊ธฐ_ ๊ณ์ฐ๊ธฐ_2 ( ๊ฐ์ข ์ฐธ๊ณ )
๐ ์ค์ฒฉ if ๋ฌธ ์ค์ด๊ธฐ ์ง๊ธ๊น์ง ์์ฑํ ์ฝ๋์ด๋ค. 7 8 9 + 4 5 6 - 1 2 3 / c 0 = x ๋ ๋ฒ์งธ ์ซ์ (numTwo) ๋ฅผ ํด๋ฆญํ๋ฉด ์ฒซ ๋ฒ์งธ ์ซ์์ ํฉ์ณ์ง๋ ๋ฒ๊ทธ๊ฐ ์๋ค. numTwo์ ๊ฐ์ ์ ์ฅํ๊ธฐ ์ ์ ํ๋ฉด์ ๋น์ฐ๋ ์
irro.tistory.com
<script>
const $input = document.querySelector('#input');
const $form = document.querySelector('#form');
const $logs = document.querySelector('#logs');
//numbers ๋น ๋ฐฐ์ด ๋ง๋ค๊ณ ๊ทธ ์์ 1~9๊น์ง์ ์ซ์ ๋ฃ๊ธฐ.
const numbers = []; //[1,2,3,4,5,6,7,8,9]
for (let n=0; n<9; n+=1){
numbers.push(n+1);
}
//์ซ์ 4๊ฐ ๋ฝ๊ธฐ.
//answer ๋น ๋ฐฐ์ด ๋ง๋ค๊ณ , numbers ๋ฐฐ์ด๋ก๋ถํฐ ์ซ์๋ฅผ ํ๋์ฉ ๊บผ๋ธ๋ค. 4๋ฒ ๋ฐ๋ณตํ๋ค.
const answer = [];
for (let n=0; n<=3; n+=1){ // 4๋ฒ ๋ฐ๋ณต.
const index = Math.floor(Math.random() * (numbers.length-n)); // 0 ~ 8 ์ ์. (+1 ์ถ๊ฐํ๋ฉด 0 ~ 9 ์ ์.)
answer.push(numbers[index]); //index๋ฅผ ๋ฌด์์๋ก ๋ฝ๊ณ ,numbers[index]๋ก ์ค์ ์ซ์๋ฅผ ๊ฐ์ ธ์จ๋ค.
//๊ทธ๋ฆฌ๊ณ answer ๋ฐฐ์ด์ ๋ฝ์ ์ซ์๋ฅผ ์ถ๊ฐ (push)ํ๋ค.
numbers.splice(index,1); //numbers ๋ฐฐ์ด์์๋ ์ ๊ฑฐ(splice)ํ๋ค.
//(numbers๋ฐฐ์ด์์ ๋ฝ์์ผ๋๊น ์ญ์ ํ๋ ๊ฒ์ด๋ค.)
}
console.log(answer);
const tries = [];
function checkInput(input) {
if (input.length != 4) { //๊ธธ์ด๋ 4๊ฐ ์๋๊ฐ.
return alert('4์๋ฆฌ ์ซ์๋ฅผ ์
๋ ฅํด ์ฃผ์ธ์.');
}
if (new Set(input).size != 4) { //์ค๋ณต๋ ์ซ์๊ฐ ์๋๊ฐ.
//new Set์ ์ค๋ณต์ด ์๋ ๋ฐฐ์ด์ด๋ค.
return alert ('์ค๋ณต๋์ง ์๊ฒ ์
๋ ฅํด์ฃผ์ธ์.');
}
if (tries.includes(input)){ //์ด๋ฏธ ์๋ํ ๊ฐ์ ์๋๊ฐ.
return alert ('์ด๋ฏธ ์๋ํ ๊ฐ์
๋๋ค.');
}
return true;
}
$form.addEventListener('submit',(event)=>{
event.preventDefault(); //ํผ ํ๊ทธ์ ๊ธฐ๋ณธ ๋์์ ์ทจ์ํ๋ ์ฝ๋.
const value = $input.value;
$input.value = ''; //์
๋ ฅํ ๊ฐ์ ๊ฐ์ ธ์ค๋ ์ฝ๋. ( ์ซ์๊ฐ ์๋๋ผ ๋ฌธ์์ด๋ก ๊ฐ์ด ๋ค์ด์ด)
//์
๋ ฅํ ๊ฐ์ checkInput ํจ์๋ก ๊ฒ์ฆ.
if (!checkInput(value)){
return; //์
๋ ฅ๊ฐ ๋ฌธ์ ์์ ๋.
}
//์
๋ ฅ๊ฐ ๋ฌธ์ ์์ ๋.
//ํ๋ฐ์ธ์ง ๊ฒ์ฌํ๋ค.
if (answer.join('') === value){ //[3,1,4,6] => '3146' ๋ฐฐ์ด์ ๋ฌธ์์ด๋ก ๋ฐ๊พธ๋ ๋ฉ์๋๊ฐ join.
//value ๋ ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๊ฐ. ์ด๊ฒ์ ์๋ก ๋น๊ตํ๋ ๊ฒ์ด๋ค.
//=== ๋ ๊ฐ๊ณผ ํ์
๋ ๋ค ๊ฒ์ฌํ๋ค. == ๋ ๊ฐ์ ๋น๊ตํ๊ธฐ ์ ์ ํ์
์ด ๋ค๋ฅผ ๊ฒฝ์ฐ ํ์
์ ๋ณํ ํ ๊ฐ์ ๋น๊ตํ๋ค.
$logs.textContent = 'ํ๋ฐ';
return;
}
//10๋ฒ ์๋ํ๋๊ฐ.
if (tries.length >= 9){
const message = document.createTextNode(`ํจ๋ฐฐ. ์ ๋ต์ ${answer.join('')}`); //ํ
์คํธ๋ฅผ ๋ง๋ค๊ณ ,
$logs.appendChild(message); //๋ก๊ทธ ์์ ์ถ๊ฐํ๋ค.
return;
}
//๋ช ์คํธ๋ผ์ดํฌ ๋ช ๋ณผ์ธ์ง ๊ฒ์ฌ
tries.push(value);
});
</script>
<!--์ฝ๋์ถ์ฒ (๋์) Let's Get IT ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ-->
๐ซ join ๋ฉ์๋ ์ค๋ช
join() ์ ๊ธฐ๋ณธ๊ฐ์ join(',') ์ด๋ค.
( ) ๊ดํธ ์์ ์์ ๋ฐฐ์ด ์ฌ์ด์ฌ์ด์ ์ด๋ค ๊ฑธ ์ธ ์ง๋ฅผ ๊ฒฐ์ ํ๋ ์นธ์ด๋ค.
์์ ์ฝ๋ก : ์ ๋ฃ์ผ๋ฉด ์์ ์์ : ์ด ๋ค์ด๊ฐ๊ณ ๋น ๋ฌธ์์ด์ด ๋ค์ด๊ฐ๋ฉด ์์ ์ฌ์ด์ ์๋ฌด๊ฒ๋ ์๋ ๊ฒ์ด๋ค.
๐ซ split ๋ฉ์๋ ์ค๋ช
split์ผ๋ก ๋ฐฐ์ด๋ก ๋ฐ๊ฟ ์๋ ์๋ค. ์ฌ๊ธฐ์๋ ์กฐ๊ฑด์ ์ค ์ ์๋ค. ( ์ด๋ป๊ฒ ๋๋์ง )
๋น ๋ฌธ์์ด๋ก ๋ค์ด๊ฐ๋ฉด ํ ๊ธ์์ฉ ๋ถ๋ฆฌ๊ฐ ๋๋ค.
์์ (1) ์ ๋ฃ์ผ๋ฉด 1์ ๊ธฐ์ค์ผ๋ก ์์๋ค์ด ๋๋๋ค.
๐ซ createTextNode ํ์ฉ
10๋ฒ ์๋ํ๋ค๋ฉด ํจ๋ฐฐํ๋ค๊ณ ์๋ฆฌ๊ณ ์ ๋ต์ ๊ณต๊ฐํ๋ค.
๊ธฐ์กด $logs ํ๊ทธ ๋ด์ฉ์ ์ ์งํ๋ฉด์ ์ถ๊ฐ๋ก ๋ค์ ์ค์ ๊ธฐ๋ก์ ๋จ๊ธฐ๋ ค๋ฉด document.createTextNode ๋ก ๋จผ์ ํ ์คํธ๋ฅผ ๋ง๋ค๊ณ , appendChild ๋ก ํ๋ฉด์ ์ถ๊ฐํด์ผ ํ๋ค.
textContent ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ธฐ์กด ๋ด์ฉ์ด ์ฌ๋ผ์ ธ๋ฒ๋ฆฐ๋ค.
๐ค 10๋ฒ ์๋ํ๋์ง ๊ฒ์ฌํ๋๊ฒ์ธ๋ฐ? ์ length >= 9 ์ด๋?
10 ๋ฒ์งธ ์๋์์ ํ๋ฐ์ด ์๋๋ฉด ์คํจ์ด๋ค.
๋ง๋ก๋ 10๋ฒ์งธ ์๋์ด์ง๋ง tries ๋ฐฐ์ด์๋ 9๊ฐ ๋ค์ด์๋ ๊ฒ์ด๋ค.
๐ค ๋ช ๋ณผ, ๋ช ์คํธ๋ผ์ดํธ์ธ์ง ๊ณ์ฐํ๊ธฐ
ํ๋ก๊ทธ๋จ์์ ๋ญ๊ฐ๋ฅผ ์ผ๋ค๊ณ ํ๋ฉด ํญ์ ๋ณ์๋ฅผ ๋ง๋ค์ด์ ์นด์ดํธ ํด์ค์ผ ํ๋ค.
<script>
const $input = document.querySelector('#input');
const $form = document.querySelector('#form');
const $logs = document.querySelector('#logs');
//numbers ๋น ๋ฐฐ์ด ๋ง๋ค๊ณ ๊ทธ ์์ 1~9๊น์ง์ ์ซ์ ๋ฃ๊ธฐ.
const numbers = []; //[1,2,3,4,5,6,7,8,9]
for (let n=0; n<9; n+=1){
numbers.push(n+1);
}
//์ซ์ 4๊ฐ ๋ฝ๊ธฐ.
//answer ๋น ๋ฐฐ์ด ๋ง๋ค๊ณ , numbers ๋ฐฐ์ด๋ก๋ถํฐ ์ซ์๋ฅผ ํ๋์ฉ ๊บผ๋ธ๋ค. 4๋ฒ ๋ฐ๋ณตํ๋ค.
const answer = [];
for (let n=0; n<=3; n+=1){ // 4๋ฒ ๋ฐ๋ณต.
const index = Math.floor(Math.random() * (numbers.length-n)); // 0 ~ 8 ์ ์. (+1 ์ถ๊ฐํ๋ฉด 0 ~ 9 ์ ์.)
answer.push(numbers[index]); //index๋ฅผ ๋ฌด์์๋ก ๋ฝ๊ณ ,numbers[index]๋ก ์ค์ ์ซ์๋ฅผ ๊ฐ์ ธ์จ๋ค.
//๊ทธ๋ฆฌ๊ณ answer ๋ฐฐ์ด์ ๋ฝ์ ์ซ์๋ฅผ ์ถ๊ฐ (push)ํ๋ค.
numbers.splice(index,1); //numbers ๋ฐฐ์ด์์๋ ์ ๊ฑฐ(splice)ํ๋ค.
//(numbers๋ฐฐ์ด์์ ๋ฝ์์ผ๋๊น ์ญ์ ํ๋ ๊ฒ์ด๋ค.)
}
console.log(answer);
const tries = [];
function checkInput(input) {
if (input.length != 4) { //๊ธธ์ด๋ 4๊ฐ ์๋๊ฐ.
return alert('4์๋ฆฌ ์ซ์๋ฅผ ์
๋ ฅํด ์ฃผ์ธ์.');
}
if (new Set(input).size != 4) { //์ค๋ณต๋ ์ซ์๊ฐ ์๋๊ฐ.
//new Set์ ์ค๋ณต์ด ์๋ ๋ฐฐ์ด์ด๋ค.
return alert ('์ค๋ณต๋์ง ์๊ฒ ์
๋ ฅํด์ฃผ์ธ์.');
}
if (tries.includes(input)){ //์ด๋ฏธ ์๋ํ ๊ฐ์ ์๋๊ฐ.
return alert ('์ด๋ฏธ ์๋ํ ๊ฐ์
๋๋ค.');
}
return true;
}
$form.addEventListener('submit',(event)=>{
event.preventDefault(); //ํผ ํ๊ทธ์ ๊ธฐ๋ณธ ๋์์ ์ทจ์ํ๋ ์ฝ๋.
const value = $input.value;
$input.value = ''; //์
๋ ฅํ ๊ฐ์ ๊ฐ์ ธ์ค๋ ์ฝ๋. ( ์ซ์๊ฐ ์๋๋ผ ๋ฌธ์์ด๋ก ๊ฐ์ด ๋ค์ด์ด)
//์
๋ ฅํ ๊ฐ์ checkInput ํจ์๋ก ๊ฒ์ฆ.
if (!checkInput(value)){
return; //์
๋ ฅ๊ฐ ๋ฌธ์ ์์ ๋.
}
//์
๋ ฅ๊ฐ ๋ฌธ์ ์์ ๋.
//ํ๋ฐ์ธ์ง ๊ฒ์ฌํ๋ค.
if (answer.join('') === value){ //[3,1,4,6] => '3146' ๋ฐฐ์ด์ ๋ฌธ์์ด๋ก ๋ฐ๊พธ๋ ๋ฉ์๋๊ฐ join.
//value ๋ ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๊ฐ. ์ด๊ฒ์ ์๋ก ๋น๊ตํ๋ ๊ฒ์ด๋ค.
//=== ๋ ๊ฐ๊ณผ ํ์
๋ ๋ค ๊ฒ์ฌํ๋ค. == ๋ ๊ฐ์ ๋น๊ตํ๊ธฐ ์ ์ ํ์
์ด ๋ค๋ฅผ ๊ฒฝ์ฐ ํ์
์ ๋ณํ ํ ๊ฐ์ ๋น๊ตํ๋ค.
$logs.textContent = 'ํ๋ฐ';
return;
}
//10๋ฒ ์๋ํ๋๊ฐ.
if (tries.length >= 9){
const message = document.createTextNode(`ํจ๋ฐฐ. ์ ๋ต์ ${answer.join('')}`); //ํ
์คํธ๋ฅผ ๋ง๋ค๊ณ ,
$logs.appendChild(message); //๋ก๊ทธ ์์ ์ถ๊ฐํ๋ค.
return;
}
//๋ช ์คํธ๋ผ์ดํฌ ๋ช ๋ณผ์ธ์ง ๊ฒ์ฌ
let strike = 0;
let ball = 0;
// answer : 3146 , value : 1347
for (let i = 0; i<answer.length; i++){
const index = value.indexOf(answer[i]);
if (index > -1) { //์ผ์นํ๋ ์ซ์ ๋ฐ๊ฒฌ. ๊ฒน์น๋ ์ซ์๊ฐ ์์ผ๋ฉด -1๋ณด๋ค ํฌ๋ค. ๊ฒน์น๋ ์ซ์๊ฐ ์์ผ๋ฉด -1.
//์๋ ์ฝ๋๋ก ๋ณผ๊ณผ ์คํธ๋ผ์ดํฌ๊ฐ ๋๋ ์ง.
if (index === i){ //์๋ฆฟ์๋ ๊ฐ์.
strike += 1;
} else { //์ซ์๋ง ๊ฐ์.
ball += 1;
}
}
}
//append์ ์ฌ๋ฌ๊ฐ ์ถ๊ฐํ ์ ์๋๋ฐ, ๋ฌธ์์ดand br ํ๊ทธ๋ ๊ฐ์ด ๋ฃ์ ์ ์๋ ๊ฒ์ด๋ค.
$logs.append(`${value}: ${strike} ์คํธ๋ผ์ดํธ ${ball} ๋ณผ`,document.createElement('br'));
tries.push(value); //tries ๋ฐฐ์ด์ ์
๋ ฅํ ๊ฐ์ ์ ์ฅํด์ ์๋ ํ์๋ฅผ 1 ๋๋ ค์ค.
});
</script>
<!--์ฝ๋์ถ์ฒ (๋์) Let's Get IT ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ-->
๐ซ indexOf() ํจ์ ํ์ฉ
string.indexOf( searchValue, position )
- indexOf ํจ์๋ ๋ฌธ์์ด (String)์์ ํน์ ๋ฌธ์์ด (searchValue) ์ ์ฐพ๊ณ , ๊ฒ์๋ ๋ฌธ์์ด์ด '์ฒซ๋ฒ์งธ' ๋ก ๋ํ๋๋ ์์น index ๋ฅผ ๋ฆฌํดํ๋ค.
- indexOf() ํจ์์ ํ๋ผ๋ฏธํฐ - | |
searchValue | ํ์ ์ ๋ ฅ๊ฐ, ์ฐพ์ ๋ฌธ์์ด |
position | optional, ๊ธฐ๋ณธ๊ฐ์ 0 , String์์ searchValue ๋ฅผ ์ฐพ๊ธฐ ์์ํ ์์น. |
- ์ฐพ๋ ๋ฌธ์์ด์ด ์์ผ๋ฉด -1 ์ ๋ฆฌํดํ๋ค.
- ๋ฌธ์์ด์ ์ฐพ์ ๋ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ๋ค.
๐ซ appendChild ์ append ์ ์ฐจ์ด์
appendChild ๋ createTextNode ๋ฅผ ๋จผ์ ๋ง๋ค์ด์ผ์ง ์ฌ์ฉํ ์ ์๋ค. ( ์ฌ๋ฌ๊ฐ๋ ๋ฃ์ง๋ชปํ๋ค. )
const message = document.createTextNode(`ํจ๋ฐฐ. ์ ๋ต์ ${answer.join('')}`); //ํ
์คํธ๋ฅผ ๋ง๋ค๊ณ ,
$logs.appendChild(message); //๋ก๊ทธ ์์ ์ถ๊ฐํ๋ค.
append ๋ appendChild ๋ฅผ ๋ณด์ํด์ ๋์จ ๊ฒ์ด๋ค. ( createTextNode ํ ํ์ ์๊ณ , ์ฌ๋ฌ๊ฐ๋ฅผ ๋ฃ์ ์ ์๋ค.)
//append์ ์ฌ๋ฌ๊ฐ ์ถ๊ฐํ ์ ์๋๋ฐ, ๋ฌธ์์ดand br ํ๊ทธ๋ ๊ฐ์ด ๋ฃ์ ์ ์๋ ๊ฒ์ด๋ค.
$logs.append(`${value}: ${strike} ์คํธ๋ผ์ดํธ ${ball} ๋ณผ`,document.createElement('br'));
๐ ์ ์ฒด ์ฝ๋
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>์ซ์์ผ๊ตฌ ๊ฒ์</title>
</head>
<body>
<form id="form">
<input type="text" id="input">
<button>ํ์ธ</button>
</form>
<div id="logs"></div>
<script>
const $input = document.querySelector('#input');
const $form = document.querySelector('#form');
const $logs = document.querySelector('#logs');
//numbers ๋น ๋ฐฐ์ด ๋ง๋ค๊ณ ๊ทธ ์์ 1~9๊น์ง์ ์ซ์ ๋ฃ๊ธฐ.
const numbers = []; //[1,2,3,4,5,6,7,8,9]
for (let n=0; n<9; n+=1){
numbers.push(n+1);
}
//์ซ์ 4๊ฐ ๋ฝ๊ธฐ.
//answer ๋น ๋ฐฐ์ด ๋ง๋ค๊ณ , numbers ๋ฐฐ์ด๋ก๋ถํฐ ์ซ์๋ฅผ ํ๋์ฉ ๊บผ๋ธ๋ค. 4๋ฒ ๋ฐ๋ณตํ๋ค.
const answer = [];
for (let n=0; n<=3; n+=1){ // 4๋ฒ ๋ฐ๋ณต.
const index = Math.floor(Math.random() * (numbers.length-n)); // 0 ~ 8 ์ ์. (+1 ์ถ๊ฐํ๋ฉด 0 ~ 9 ์ ์.)
answer.push(numbers[index]); //index๋ฅผ ๋ฌด์์๋ก ๋ฝ๊ณ ,numbers[index]๋ก ์ค์ ์ซ์๋ฅผ ๊ฐ์ ธ์จ๋ค.
//๊ทธ๋ฆฌ๊ณ answer ๋ฐฐ์ด์ ๋ฝ์ ์ซ์๋ฅผ ์ถ๊ฐ (push)ํ๋ค.
numbers.splice(index,1); //numbers ๋ฐฐ์ด์์๋ ์ ๊ฑฐ(splice)ํ๋ค.
//(numbers๋ฐฐ์ด์์ ๋ฝ์์ผ๋๊น ์ญ์ ํ๋ ๊ฒ์ด๋ค.)
}
console.log(answer);
const tries = [];
function checkInput(input) {
if (input.length != 4) { //๊ธธ์ด๋ 4๊ฐ ์๋๊ฐ.
return alert('4์๋ฆฌ ์ซ์๋ฅผ ์
๋ ฅํด ์ฃผ์ธ์.');
}
if (new Set(input).size != 4) { //์ค๋ณต๋ ์ซ์๊ฐ ์๋๊ฐ.
//new Set์ ์ค๋ณต์ด ์๋ ๋ฐฐ์ด์ด๋ค.
return alert ('์ค๋ณต๋์ง ์๊ฒ ์
๋ ฅํด์ฃผ์ธ์.');
}
if (tries.includes(input)){ //์ด๋ฏธ ์๋ํ ๊ฐ์ ์๋๊ฐ.
return alert ('์ด๋ฏธ ์๋ํ ๊ฐ์
๋๋ค.');
}
return true;
}
$form.addEventListener('submit',(event)=>{
event.preventDefault(); //ํผ ํ๊ทธ์ ๊ธฐ๋ณธ ๋์์ ์ทจ์ํ๋ ์ฝ๋.
const value = $input.value;
$input.value = ''; //์
๋ ฅํ ๊ฐ์ ๊ฐ์ ธ์ค๋ ์ฝ๋. ( ์ซ์๊ฐ ์๋๋ผ ๋ฌธ์์ด๋ก ๊ฐ์ด ๋ค์ด์ด)
//์
๋ ฅํ ๊ฐ์ checkInput ํจ์๋ก ๊ฒ์ฆ.
if (!checkInput(value)){
return; //์
๋ ฅ๊ฐ ๋ฌธ์ ์์ ๋.
}
//์
๋ ฅ๊ฐ ๋ฌธ์ ์์ ๋.
//ํ๋ฐ์ธ์ง ๊ฒ์ฌํ๋ค.
if (answer.join('') === value){ //[3,1,4,6] => '3146' ๋ฐฐ์ด์ ๋ฌธ์์ด๋ก ๋ฐ๊พธ๋ ๋ฉ์๋๊ฐ join.
//value ๋ ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๊ฐ. ์ด๊ฒ์ ์๋ก ๋น๊ตํ๋ ๊ฒ์ด๋ค.
//=== ๋ ๊ฐ๊ณผ ํ์
๋ ๋ค ๊ฒ์ฌํ๋ค. == ๋ ๊ฐ์ ๋น๊ตํ๊ธฐ ์ ์ ํ์
์ด ๋ค๋ฅผ ๊ฒฝ์ฐ ํ์
์ ๋ณํ ํ ๊ฐ์ ๋น๊ตํ๋ค.
$logs.textContent = 'ํ๋ฐ';
return;
}
//10๋ฒ ์๋ํ๋๊ฐ.
if (tries.length >= 9){
const message = document.createTextNode(`ํจ๋ฐฐ. ์ ๋ต์ ${answer.join('')}`); //ํ
์คํธ๋ฅผ ๋ง๋ค๊ณ ,
$logs.appendChild(message); //๋ก๊ทธ ์์ ์ถ๊ฐํ๋ค.
return;
}
//๋ช ์คํธ๋ผ์ดํฌ ๋ช ๋ณผ์ธ์ง ๊ฒ์ฌ
let strike = 0;
let ball = 0;
// answer : 3146 , value : 1347
for (let i = 0; i<answer.length; i++){
const index = value.indexOf(answer[i]);
if (index > -1) { //์ผ์นํ๋ ์ซ์ ๋ฐ๊ฒฌ. ๊ฒน์น๋ ์ซ์๊ฐ ์์ผ๋ฉด -1๋ณด๋ค ํฌ๋ค. ๊ฒน์น๋ ์ซ์๊ฐ ์์ผ๋ฉด -1.
//์๋ ์ฝ๋๋ก ๋ณผ๊ณผ ์คํธ๋ผ์ดํฌ๊ฐ ๋๋ ์ง.
if (index === i){ //์๋ฆฟ์๋ ๊ฐ์.
strike += 1;
} else { //์ซ์๋ง ๊ฐ์.
ball += 1;
}
}
}
//append์ ์ฌ๋ฌ๊ฐ ์ถ๊ฐํ ์ ์๋๋ฐ, ๋ฌธ์์ดand br ํ๊ทธ๋ ๊ฐ์ด ๋ฃ์ ์ ์๋ ๊ฒ์ด๋ค.
$logs.append(`${value}: ${strike} ์คํธ๋ผ์ดํธ ${ball} ๋ณผ`,document.createElement('br'));
tries.push(value);//tries ๋ฐฐ์ด์ ์
๋ ฅํ ๊ฐ์ ์ ์ฅํด์ ์๋ ํ์๋ฅผ 1 ๋๋ ค์ค.
});
</script>
</body>
</html>
<!--์ฝ๋์ถ์ฒ (๋์) Let's Get IT ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ-->
๐คธโ๏ธ ๋ฐฐ์ด์์๋ ๋ฐ๋ณต๋ฌธ ์ญํ ์ ํ๋ ๋ฉ์๋๋ค์ด ์๋ค
๐ซ forEach ๋ฉ์๋
for ๋ฌธ ์ด์ธ์ ๋ฐฐ์ด์์๋ ๋ฐ๋ณต๋ฌธ ์ญํ ์ ํ๋ ๋ฉ์๋๋ค์ด ์๋ค.
๋ํ์ ์ผ๋ก forEach ๊ฐ ์๋ค.
๋ช ์คํธ๋ผ์ดํฌ ๋ช ๋ณผ์ธ์ง ๊ฒ์ฌํ๋ ๋ถ๋ถ์ forEach ๋ฉ์๋๋ก ๋ฐ๊ฟ์ ์์ฑํ ์ ์๋ค.
for ์ด ์๋๋ฐ ์ forEach ๋ฅผ ์ฌ์ฉํ๋?
for ๋ฌธ๋ณด๋ค ์ฑ๋ฅ์ ์์ข์ง๋ง ๋ฐฐ์ด ๋ฉ์๋๋ค์ ์ฐ๋ฌ์ ์ผ์ ๋ ํธ๋ฆฌํ๋ค.
๋ค์๊ณผ ๊ฐ์ด forEach ๋ฉ์๋๋ก ๋ฐ๊ฟ ์ฌ์ฉํ ์ ์๋ค.
<script>
const $input = document.querySelector('#input');
const $form = document.querySelector('#form');
const $logs = document.querySelector('#logs');
//numbers ๋น ๋ฐฐ์ด ๋ง๋ค๊ณ ๊ทธ ์์ 1~9๊น์ง์ ์ซ์ ๋ฃ๊ธฐ.
const numbers = []; //[1,2,3,4,5,6,7,8,9]
for (let n=0; n<9; n+=1){
numbers.push(n+1);
}
//์ซ์ 4๊ฐ ๋ฝ๊ธฐ.
//answer ๋น ๋ฐฐ์ด ๋ง๋ค๊ณ , numbers ๋ฐฐ์ด๋ก๋ถํฐ ์ซ์๋ฅผ ํ๋์ฉ ๊บผ๋ธ๋ค. 4๋ฒ ๋ฐ๋ณตํ๋ค.
const answer = [];
for (let n=0; n<=3; n+=1){ // 4๋ฒ ๋ฐ๋ณต.
const index = Math.floor(Math.random() * (numbers.length-n)); // 0 ~ 8 ์ ์. (+1 ์ถ๊ฐํ๋ฉด 0 ~ 9 ์ ์.)
answer.push(numbers[index]); //index๋ฅผ ๋ฌด์์๋ก ๋ฝ๊ณ ,numbers[index]๋ก ์ค์ ์ซ์๋ฅผ ๊ฐ์ ธ์จ๋ค.
//๊ทธ๋ฆฌ๊ณ answer ๋ฐฐ์ด์ ๋ฝ์ ์ซ์๋ฅผ ์ถ๊ฐ (push)ํ๋ค.
numbers.splice(index,1); //numbers ๋ฐฐ์ด์์๋ ์ ๊ฑฐ(splice)ํ๋ค.
//(numbers๋ฐฐ์ด์์ ๋ฝ์์ผ๋๊น ์ญ์ ํ๋ ๊ฒ์ด๋ค.)
}
console.log(answer);
const tries = [];
function checkInput(input) {
if (input.length != 4) { //๊ธธ์ด๋ 4๊ฐ ์๋๊ฐ.
return alert('4์๋ฆฌ ์ซ์๋ฅผ ์
๋ ฅํด ์ฃผ์ธ์.');
}
if (new Set(input).size != 4) { //์ค๋ณต๋ ์ซ์๊ฐ ์๋๊ฐ.
//new Set์ ์ค๋ณต์ด ์๋ ๋ฐฐ์ด์ด๋ค.
return alert ('์ค๋ณต๋์ง ์๊ฒ ์
๋ ฅํด์ฃผ์ธ์.');
}
if (tries.includes(input)){ //์ด๋ฏธ ์๋ํ ๊ฐ์ ์๋๊ฐ.
return alert ('์ด๋ฏธ ์๋ํ ๊ฐ์
๋๋ค.');
}
return true;
}
$form.addEventListener('submit',(event)=>{
event.preventDefault(); //ํผ ํ๊ทธ์ ๊ธฐ๋ณธ ๋์์ ์ทจ์ํ๋ ์ฝ๋.
const value = $input.value;
$input.value = ''; //์
๋ ฅํ ๊ฐ์ ๊ฐ์ ธ์ค๋ ์ฝ๋. ( ์ซ์๊ฐ ์๋๋ผ ๋ฌธ์์ด๋ก ๊ฐ์ด ๋ค์ด์ด)
//์
๋ ฅํ ๊ฐ์ checkInput ํจ์๋ก ๊ฒ์ฆ.
if (!checkInput(value)){
return; //์
๋ ฅ๊ฐ ๋ฌธ์ ์์ ๋.
}
//์
๋ ฅ๊ฐ ๋ฌธ์ ์์ ๋.
//ํ๋ฐ์ธ์ง ๊ฒ์ฌํ๋ค.
if (answer.join('') === value){ //[3,1,4,6] => '3146' ๋ฐฐ์ด์ ๋ฌธ์์ด๋ก ๋ฐ๊พธ๋ ๋ฉ์๋๊ฐ join.
//value ๋ ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๊ฐ. ์ด๊ฒ์ ์๋ก ๋น๊ตํ๋ ๊ฒ์ด๋ค.
//=== ๋ ๊ฐ๊ณผ ํ์
๋ ๋ค ๊ฒ์ฌํ๋ค. == ๋ ๊ฐ์ ๋น๊ตํ๊ธฐ ์ ์ ํ์
์ด ๋ค๋ฅผ ๊ฒฝ์ฐ ํ์
์ ๋ณํ ํ ๊ฐ์ ๋น๊ตํ๋ค.
$logs.textContent = 'ํ๋ฐ';
return;
}
//10๋ฒ ์๋ํ๋๊ฐ.
if (tries.length >= 9){
const message = document.createTextNode(`ํจ๋ฐฐ. ์ ๋ต์ ${answer.join('')}`); //ํ
์คํธ๋ฅผ ๋ง๋ค๊ณ ,
$logs.appendChild(message); //๋ก๊ทธ ์์ ์ถ๊ฐํ๋ค.
return;
}
//๋ช ์คํธ๋ผ์ดํฌ ๋ช ๋ณผ์ธ์ง ๊ฒ์ฌ
let strike = 0;
let ball = 0;
// answer : 3146 , value : 1347
//for๋ฌธ์ ์ด์ฉํ ๋ฐฉ๋ฒ.
// for (let i = 0; i<answer.length; i++){
// const index = value.indexOf(answer[i]);
// if (index > -1) { //์ผ์นํ๋ ์ซ์ ๋ฐ๊ฒฌ. ๊ฒน์น๋ ์ซ์๊ฐ ์์ผ๋ฉด -1๋ณด๋ค ํฌ๋ค. ๊ฒน์น๋ ์ซ์๊ฐ ์์ผ๋ฉด -1.
// //์๋ ์ฝ๋๋ก ๋ณผ๊ณผ ์คํธ๋ผ์ดํฌ๊ฐ ๋๋ ์ง.
// if (index === i){ //์๋ฆฟ์๋ ๊ฐ์.
// strike += 1;
// } else { //์ซ์๋ง ๊ฐ์.
// ball += 1;
// }
// }
// }
//๋ฐฐ์ด์ forEach๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ.
answer.forEach((element, i)=>{ //element : answer์ ๊ฐ ์์ / i : ๊ทธ ์์์ ๋ํ ์ธ๋ฑ์ค.
const index = value.indexOf(element);
if(index > -1){ //์ผ์นํ๋ ์ซ์ ๋ฐ๊ฒฌ.
if(index === i){ //์๋ฆฟ์๋ ๊ฐ์.
strike += 1;
} else{ //์ซ์๋ง ๊ฐ์.
ball += 1;
}
}
})
//append์ ์ฌ๋ฌ๊ฐ ์ถ๊ฐํ ์ ์๋๋ฐ, ๋ฌธ์์ดand br ํ๊ทธ๋ ๊ฐ์ด ๋ฃ์ ์ ์๋ ๊ฒ์ด๋ค.
$logs.append(`${value}: ${strike} ์คํธ๋ผ์ดํธ ${ball} ๋ณผ`,document.createElement('br'));
tries.push(value);//tries ๋ฐฐ์ด์ ์
๋ ฅํ ๊ฐ์ ์ ์ฅํด์ ์๋ ํ์๋ฅผ 1 ๋๋ ค์ค.
});
</script>
<!--์ฝ๋์ถ์ฒ (๋์) Let's Get IT ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ-->
answer ๋ฐฐ์ด์ ์๋ ์์๋ค์ forEach ๋ฉ์๋๋ก ์ํํ๋ค.
forEach ๋ ์ธ์๋ก ํจ์๋ฅผ ๋ฐ๊ณ , ๋ฐฐ์ด์ ์์ ํ๋ํ๋์ ์ธ์๋ก ๋ฐ์ ํจ์๋ฅผ ๊ฐ๊ฐ ์ ์ฉํ๋ค.
์ด๋ ์์ ์์๋๋ก ํจ์๋ฅผ ์ ์ฉํ๋ฏ๋ก ๋ฐ๋ณต๋ฌธ์ ์ญํ ์ ํ๊ฒ ๋๋ค.
์์ ์ฌ์ง์์๋ i ๋์ index๋ฅผ ๋งค๊ฐ๋ณ์๋ช ์ผ๋ก ์ฌ์ฉํ๋ค.
๐ซ map ๋ฉ์๋
๋ฐฐ์ด ๋ฉ์๋ ์ค map ๋ฉ์๋๋ ์๋ค.
map์ ๊ฐ๊ฐ์ ์์๋ฅผ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋๋ฉด์ ๋ค๋ฅธ ๊ฐ์ผ๋ก ๋ฐ๊ฟ์ค๋ค.
ํน์ง์ด ๊ธฐ์กด array ๋ฐฐ์ด์ ์๋ฐ๋๊ณ ์๋ก์ด ๋ฐฐ์ด์ด ์๊ธด๋ค. ( ๊ธฐ์กด ๋ฐฐ์ด์ ์์ ์ด ์๋๋ค. )
์ ๋ฐฐ์ด map , forEach ๋ฅผ ์ฌ์ฉํ๋๊ฑฐ๋?
์ฐ๋ฌ์์ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
map ๊ณผ fill ๋ฉ์๋ ๋ฅผ ์ฌ์ฉํด 1๋ถํฐ 9๊น์ง ๋ฐฐ์ด์ ๋ด์๋ณด์.
-(๋์) Let's Get IT ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ
Let's Get IT ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ
๋๋ถ(TheBook): (์ฃผ)๋์์ถํ ๊ธธ๋ฒ์์ ์ ๊ณตํ๋ IT ๋์ ์ด๋ ์๋น์ค์ ๋๋ค.
thebook.io
-(๊ฐ์ข) ๋ ์ธ ๊ธฐ๋ฆฟ ์๋ฐ์คํฌ๋ฆฝํธ
[๋ฌด๋ฃ] [๋ฆฌ๋ด์ผ] ๋ ์ธ ๊ธฐ๋ฆฟ ์๋ฐ์คํฌ๋ฆฝํธ - ์ธํ๋ฐ | ๊ฐ์
๋ณธ ๊ฐ์์์๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํ์ฉํด ํ๋ก๊ทธ๋๋ฐ ์ฌ๊ณ ๋ ฅ์ ๊ธฐ๋ฅด๋ ์ฐ์ต์ ํฉ๋๋ค. ์น ๊ฒ์์ธ ๊ตฌ๊ตฌ๋จ์ ์์์ผ๋ก ๋๋ง์๊ธฐ, ์ซ์ ์ผ๊ตฌ, ๋ฐ์ ์๋ ํ ์คํธ, ํฑํํ , ๋ก๋ ์ถ์ฒจ๊ธฐ, ๊ฐ์๋ฐ์๋ณด, ์นด
www.inflearn.com
- == , === ์ฐ์ฐ์ ์ฐจ์ด
https://developer-talk.tistory.com/
[JavaScript]==, === ์ฐจ์ด
JavaScript์์ ๊ฐ์ ๋น๊ตํ๊ธฐ ์ํด == ์ฐ์ฐ์์ === ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ ์ฐ์ฐ์๋ ๊ฐ์ด ์ผ์นํ๋ฉด true๋ฅผ ๋ฐํํ๋ฉฐ, ๊ฐ์ด ์ผ์นํ์ง ์์ผ๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ == ์ฐ์ฐ์์ ===
developer-talk.tistory.com
- indexOf() ํจ์ ์ค๋ช ๋ฐ ํน์ ๋ฌธ์ ์์น ์ฐพ๊ธฐ
[Javascript] ํน์ ๋ฌธ์ ์์น ์ฐพ๊ธฐ (indexOf ํจ์)
์ง๋ ๋ฒ์๋ ํน์ ์์น์ ๋ฌธ์๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ, ์ฆ, index๊ฐ์ ์ ๋ ฅ์ผ๋ก ์ ๋ฌํ์ฌ, ํด๋น ์์น์ ์๋ ๋ฌธ์๋ฅผ ์ฝ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์์ต๋๋ค. [Javascript] ํน์ ์์น ๋ฌธ์ ์ฐพ๊ธฐ 2๊ฐ์ง ๋ฐฉ๋ฒ (charAt ํจ์, ๋๊ด
hianna.tistory.com