프론트엔드/React

NBC - JS 1주차 강의 정리 : 반복문

장쫑이이 2024. 7. 23. 22:23

 

 

1. forEach

- 매개변수에 함수를 넣는 것을 콜백함수라 함.

- Item에 numbers가 하나하나 들어가며 순회를 돈다는 의미

let numbers = [2, 4, 1, 5, 3];
numbers.forEach(function (item) {
  console.log("item 입니다 => ", item);
});

// item 입니다 => 2
// item 입니다 =>  4
// item 입니다 =>  1
// item 입니다 =>  5
// item 입니다 =>  3

 

 

2. map

- 함수 안에는 무조건 리턴문이 들어감.

- map이 가공해서 새로운 배열을 만들어 주기 때문에 새로운 배열을 받아줘야함.

- 항상 원본 배열의 길이 만큼 return됨 (return이 없다면 ㅁundefined로 차서 배열이 나옴)

let newNumbers = numbers.map(function (item) {
  return item * 2;
});
console.log(newNumbers); // [ 4, 8, 2, 10, 6 ]

 

 

3. filter

- return에 조건이 들어감

- 조건에 해당하는 것만 나오기 때문에 배열의 길이만큼 return 되지 않음

let numberss = [2, 4, 1, 5, 3];
let filterdNumbers = numberss.filter(function (item) {
  return item === 5;
});
console.log(filterdNumbers); // [5]

 

 

4. find

- 조건에 맞는 것 중 첫번 째 것만 return됨 (배열로 받지 않음)

let findNumber = numberss.find(function (item) {
  return item > 3;
});
console.log(findNumber); // 4

 

 


 

 

5. 반복문 for

for (let i = 0; i < 10; i++) {
  console.log(i);
} // 0~9까지 출력

 

쉽게 설명해서 

i라는 변수는 0부터 시작

i라는 변수는 10에 도달하기 전까지 계속 할거야

i라는 변수는 한 사이클이 돌고나면 1을 더할거야 (중괄호가 실행되는게 한 사이클)

 

배열과 for문은 짝꿍!!

 

 

for ~in문

- 객체의 속성을 출력하는 문법

let person = {
  name: "홍길동",
  age: 30,
  gender: "남자",
};

for (let key in person) {
  console.log(key + ":" + person[key]);
}
//name:홍길동
// age:30
// gender:남자 출력

 

 

 


 

 

6. while 문

let i = 0;
while (i < 10) {
  console.log(i); // 메인로직
  i++; // 증감
} // 0~9 출력

 

 

3초과 100 미만의 숫자 중 5의 배수 뽑는 법

let k = 3;
while (k < 100) {
  if (k % 5 === 0 && k > 5) {
    console.log(k);
  }
  k++;
}

 

 

do ~while

기본 문법

let n = 0;
do {
  console.log(n);
  n++;
} while (n < 10);
// 0~9 출력

 

 

오류

do {
  console.log(n);
} while (n > 10);
// 0 출력 (처음에 0이 그냥 console.log에 찍히니까)

 

 

break

true인 경우 반복문 끝내기

// break
for (let i = 0; i < 10; i++) {
  if (i === 5) {
    break; // 5가 되면 for문을 그만 돌리고 끝내라
  }
  console.log(i);
} // 0~9까지 출력

 

 

continue

true인 경우 다음으로 넘어가기

// continue
for (let i = 0; i < 10; i++) {
  if (i === 5) {
    continue; // 5가 되면 무시하고 다음으로 넘어가라
  }
  console.log(i);
} // 012346789 출력