일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 타입스크립트
- 이벤트루프
- 프론트엔드
- VAR
- 화살표함수
- CSS
- frontend
- 국비지원
- for문
- array
- 개발자
- 멋쟁이사자처럼
- Let
- 웹개발
- useState
- 메소드체이닝
- 코딩
- 리액트
- 멋사
- react
- 반복문
- 비동기
- JavaScript
- 제주코딩베이스캠프
- SS
- 내일배움카드
- 배열
- 네트워크
- likelion
- 자바스크립트
- Today
- Total
Ch.Covelope
Javascript <자바스크립트> 반복문, for문 본문
자바스크립트 js 반복문
반복문에는 여러가지 방법으로 방법 문들이 존재하다.
자바스크립트에서 지원하는 반복문
- for 문
- do...while 문
- while 문
- 레이블 문
- break 문
- countinue 문
- for..in 문
- for...of 문
for 문을 활용해서 다양한 값 구해보기.
오늘은 많은 반복문들 중에서 for 문을 활용하여 몇 가지 기초적인 실습 예제를 해볼 예정 인다.
for 문을 처음 이론으로 들었을 때는 그냥 원하는 걸 반복해서 결괏값을 얻는 아주 쉽게 정의된 느낌이었는데 역시나 실제로 코드로 뭔가 써보니 나한테는 모든 부분들이 생소하고 어려웠던 거 같다.
100까지의 3의 배수와 5의 배수를 더한 값을 구한다.
let result = 0;
for (let x = 0; x < 101; x++) { // x = 100까지 반복이 되는데 인덱스는 0 부터 시작이다. 100까지가 아닌 100개를 찍으려면
// x < 100 으로 하면된다.
// console.log(x)
if (x % 3 == 0 || x % 5 == 0) { // 조건으로 or연산자를 사용해 3의배수와 5와 배수를 가져오고 15의 배수의 중복을 막는다.
result += x // result = result + x
}
}
console.log(result);
for(조건) 조건= 초기문 let x = 0; 조건문 = x < 101 (101 미만까지) 증감 문 = x++ (1씩 증가)
초기문에 x 가 100까지 1씩 증감하는 반복문으로써 해당 조건으로 중괄호 안에 있는 문을 실행한다. x % 3 === 0; 이건 나머지 연산자 % 사용해서 x의 값을 3으로 나눈 나머지가 0 인 값이면 true이다. or 연산자 이기 때문에 3의 배수가 아니고 5의 배수를 만족하면 5의 배수의 값을 true로 친다.
그래서 그 값을 result = 0으로 선언 할당한 값에 더해주면 최종 값으로 3과 5의 배수를 더한 값을 알 수 있다.
100까지 짝수의 합을 구해보자.
let result = 0;
for (let i = 0; i < 101; i += 2){ // 증감연산자를 2씩 증가한다.
result += i; // 짝수로 나온 값들을 result에 담는다.
}
console.log(result);
증감 연산자를 += 2로 2씩 증가하게 만들어서 결괏값에 더하고 담아주면 결과는 짝수의 합을 구할 수 있다.
구구단 만들기
for (let i = 2; i < 10; i++ ){ // 2단부터 시작하게 되고 9단까지 있으므로 10 미만까지 증감되고
for(let j = 1; j < 10; j++){ // 1부터 9까지 곱해지기 때문에 1부터 시작하고 10 미만가지 증감되고 설정한다.
console.log(`${i}*${j} = ${i*j}`)
// 리터럴 템플릿 벡틱를 사용해서 ${ i의 값} * ${ j 의값 } = ${ i * j } 결과값을 보여준다.
}
}
// 결과값 예시 ) 2*1 = 2 이런식으로 console.log 가 찍히게 된다.
이중 포문으로 구구단 앞에 들어올 수와 뒤에 곱해질 수를 만들어서 콘솔 로그(console.log)로 출력하면 9단까지 구구단 값을 얻을 수 있다.
배열의 최솟값 구하기.
let sample = [10, 20, 30, 5, 6, 3, 100, 110, 99, 98];
let temp = sample[0] // temp 변수에 sample 배열을 할당해준다.
for (let i = 0; i < sample.length ; i++) { // for 문은 sample 배열의 길이만큼 반복해주고
if (temp > sample[i]){ // 만약에 temp 가 sample[i] 보다 크면
temp = sample[i]; // temp에 해당 sample[i] 를 할당한다
}
}
console.log(temp);
// 예를 들어 temp 10이고 sample이 10이면 if문 조건이 해당되지 않아 다음 반복을 돌리고
// 다음에 들어오는 수가 temp 보다 작으면 그 값을 temp에 할당하여 최종적으로 가장 작은를 출력해준다.
for 문과 if문을 사용해서 주어진 배열의 숫자 중 최솟값을 구할 수 있다. (코드에 주석 참고.)
최댓값 구하기
let sample = [10, 20, 30, 5, 6, 3, 100, 110, 99, 98];
let temp = sample[0]
for (let i = 0; i < sample.length ; i++) {
if (temp < sample[i]){ // 크기비교 연산자만 바꿔주면 최대값을 구하는 반복문으로 쉽게 바꿀수 있다.
temp = sample[i];
}
}
크기 비교 연산자만 반대로 해주면 최댓값을 구하는 포문으로 활용할 수 있다.
문자의 앞에 두 글자씩만 순서대로 출력하기
let text = 'javascript'; // 변수에 2개씩 출력할 텍스트를 입력한다.
for (let i = 1; i < text.length; i ++){
console.log(text[i-1], text[i]);
}
// 텍스트의 길이만큼 증감 시키는데 초기값이 0부터 시작하게 되면 텍스트의 길이가 10이라서
//9까지 반복되는데 인덱스는 0부터 시작하때문에 총 10 번이 반복되게 된다.
//그렇게 시작하게되면 마지막에 한글자가 남거나 출력할때 i 값을 어떻게 주냐에 따라서 여러가지 방법으로
//원하지 않는 결과값이 출력 될수 있다.
//1 로 시작하고 출력되는 i의 값에 -1 을 주어서 시작점을 인덱스 0부터 시작되어 앞글자 부터 2자씩 보이게 출력한다.
주석의 내용을 어떻게 써야 잘 이해가 될지 몰라서 해당 코드에서 for문의 초기값을 0으로 바꾸고 console.log의 출력 값을 바꿔보면서 차이를 확인해보면 더 빨리 이해된다.
'JavaScript' 카테고리의 다른 글
Javascript <자바스크립트> 연습 문제 풀이(split, array, for) (0) | 2021.12.14 |
---|---|
Javascript <자바스크립트> 반복문, while문 (0) | 2021.12.13 |
Javascript <자바스크립트> 반복문, for문 .2 (0) | 2021.12.07 |
Javascript <자바스크립트> 변수 , 선언 (0) | 2021.12.01 |
Javascript <자바스크립트> 란?? (0) | 2021.11.07 |