๐ŸŒˆJS:Loop

hojuneยท2023๋…„ 8์›” 24์ผ
0

Web Development

๋ชฉ๋ก ๋ณด๊ธฐ
16/33

๐ŸŒˆFor๋ฌธ (for of)

๋ฌธ๋ฒ• ๋™์ผ ๋ฐฐ์—ด๋„ loop๋„ ๊ฐ€๋Šฅ

for - (let ๋ณ€์ˆ˜ of ๋ฐฐ์—ด) ํ™œ์šฉ (๊ฐ€๋…์„ฑ + ํŽธ๋ฆฌํ•จ)
๋ฐฐ์—ด ๋ฐ˜๋ณต

const subreddits = ['cringe','books','chickens']

for (let i = 0; i<subreddits.length;i++)
{
  console.log(`asdf ${subreddits}`)
}

์œ„ ์•„๋ž˜์˜ ์ถœ๋ ฅ๊ฐ’์ด ๊ฐ™๋‹ค

for (let sub of subreddits)
{
  console.log(sub)
}
---------------------------------------------------
const seatingChart = [
     ['Kristen', 'Erik', 'Namita'],
     ['Geoffrey', 'Juanita', 'Antonio', 'Kevin'],
     ['Yuma', 'Sakura', 'Jack', 'Erika']
 ]

 for (let i = 0; i < seatingChart.length; i++) {
     const row = seatingChart[i];
     for (let j = 0; j < row.length; j++) {
         console.log(row[j])
     }
 }

 for (let row of seatingChart) {
     for (let student of row) {
         console.log(student);
     }
 }

---------------------------------------------------
 for (let char of "hello world") {
     console.log(char)
 }

๐Ÿ’งfor in and for of, for in ์ฐจ์ด

for in ์€ ๊ฐ์ฒด ๋ฐ˜๋ณต ์‹œ ์‚ฌ์šฉ

const object = {a:1,b:2,c:3};

for(const property in object)
{
  console.log(`${property}: ${object[property]}`);
}

// output "a: 1" "b: 2" "c: 3"


for of ๋Š” iterable ๊ฐ์ฒด๊ฐ€ ๋ฐ˜๋ณตํ•˜๋„๋ก ์ •์˜ํ•œ ๊ฐ’์„ ๋ฐ˜๋ณต
for in ๋Š” ๊ฐ์ฒด์˜ ์—ด๊ฑฐ ๊ฐ€๋Šฅํ•œ properties๋ฅผ ์ž„์˜์˜ ์ˆœ์„œ๋กœ ๋ฐ˜๋ณต

์ž์„ธํ•œ ์ฐจ์ด๊ฐ€ ์„ค๋ช…๋˜์–ด ์žˆ์ง€๋งŒ ์•„์ง ๋ฒ…์ฐจ๋‹ค
https://developerntraveler.tistory.com/122

๐ŸŒˆWhile๋ฌธ

๋ฌธ๋ฒ• ๋™์ผ

๐ŸŒˆ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•ด์„œ ๋งŒ๋“œ๋Š” ์ถ”์ธก ๊ฒŒ์ž„ ์˜ˆ์ œ

let maximum = parseInt(prompt("Enter the maxinum number!"));
// parseIntํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ˆซ์ž ํ˜น์€ NaN์ด ๋ฐ˜ํ™˜๋œ๋‹ค

while (!maximum) {
    maximum = parseInt(prompt("Enter a valid number!"));
}
// maximum์˜ ๊ฐ’์ด NaN์œผ๋กœ ๋ฐ˜ํ™˜๋  ๊ฒฝ์šฐ์— ๋‹ค์‹œ ์ž…๋ ฅํ•˜๋ผ๋Š” ๋ฐ˜๋ณต๋ฌธ

const targetNum = Math.floor(Math.random() * maximum) + 1;
console.log(targetNum);
// Math.random()ํ•จ์ˆ˜๋Š” 0์ด์ƒ 1๋ฏธ๋งŒ์˜ ๋ฌด์ž‘์œ„ ์‹ค์ˆ˜ ์ƒ์„ฑ
// Math.floor()ํ•จ์ˆ˜๋Š” ์ฃผ์–ด์ง„ ์ˆซ์ž๋ฅผ ๋‚ด๋ฆผํ•ด ์ •์ˆ˜ ๋ถ€๋ถ„๋งŒ ๋‚จ๊น€

let guess = parseInt(prompt("Enter your first guess!"));
let attempts = 1;

while (parseInt(guess) !== targetNum) 
{
    if (guess === 'q')
        break;

    attempts++;

    if (guess > targetNum) {
        guess = (prompt("Too high! Enter a new guess:"));
    }
    else {
        guess = (prompt("Too low! Enter a new guess:"))
    }
}
if(guess ==='q')
{
console.log("Quit!")
}
else
{
    console.log("Good");
    console.log(`you got it ! It took you ${attempts} guesses`)
}

๐ŸŒˆparseInt

parseInt(string, radix) = ๋ฌธ์ž์—ด์—์„œ ์ˆซ์ž๋ฅผ ์ถ”์ถœํ•˜๊ฒŒ ์œ„ํ•ด ์ฃผ๋กœ ์‚ฌ์šฉ
์ˆซ์ž์™€ NaN์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ ๋ถ€๋™ ์†Œ์ˆ˜์  ๊ฐ’์€ ๋ฌด์‹œํ•œ๋‹ค
NaN๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ž…๋ ฅ๋ฐ›๋Š” ๋ฌธ์ž์—ด์— ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ–ˆ์„ ๋•Œ ๋ฐœ์ƒ
radix ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์ง„๋ฒ•์„ ์ง€์ •ํ•˜๊ณ  ๊ธฐ๋ณธ๊ฐ’์€ 10์ธ 10์ง„๋ฒ•์ด๋‹ค

const myNumber = '5';
console.log(4 + myNumber);
// returns 45

const myNumber = '5';
console.log(4 + parseInt(myNumber));
// returns 9

๐ŸŒˆTodo List ๋งŒ๋“ค์–ด๋ณด๊ธฐ

let list = []

while (1) 
{
    let startInput = prompt("Please Input (if you want to quit = input 'q')");

    if (startInput === 'q') 
    {
        let k = 1;
        console.log("your Todo list")
        for (let i of list)
        {

            console.log(`${k}: ${i}`)
            k++;
        }
        break;
    }
  
    else if (startInput === 'new') 
    {
        let element = prompt("input add a Todo")
        list.push(element)
        console.log(`add ${element}`)
    }


    else if (startInput === 'list')
    {
        let k = 1;
        console.log('**********');

        for (let i of list) 
        {
            console.log(`${k}: ${i}`)
            k++;
        }

        console.log('**********');
    }
  
    else if (startInput === 'delete')
    {
        let removeElement = prompt("Remove Specific Todo")

        let removeNum = list.indexOf(removeElement)
        if (removeNum === -1)
        {
            console.log("please vaild specific todo")
        }
        list.splice(removeNum, 1);
        console.log(`delete ${removeElement}`)
    }
  
    else 
    {
        console.log("please input vaild text")
    }


}

0๊ฐœ์˜ ๋Œ“๊ธ€