1. 한 배열을 거슬러 올라가 루프를 만든다.
2. 다른 루프 안에 또 다른 루프를 만든다.
const jonas = [
"Jonas",
"Schmedtmann",
2037 - 1991,
"teacher",
[("Michael", "Peter", "Steve")]
];
0 → Jonas
.
.
.
4 → [("Michael", "Peter", "Steve")]
이번에는 4번부터 0번까지 갈 예정이다.
새로운 정보를 따라 for문을 만들어야 한다.
counter, 조건, counter 업데이트
for (let i = jonas.length - 1; i >= 0; i--) {
console.log(jonas[i]);
}
let i = jonas.length -1;
counter로 다시 시작해보겠다. 그런다음 i라고 한다. counter의 초기값은 뭘까? 4이다. 그러나 4가 맞긴한데 적으면 안된다. 하드 코드된 값은 좋은 생각이 아니기 때문이다. 그렇다면 4는 무엇일까? 4는 기본적으로 배열의 길이이다. 5 -1 이다.
그러나 jonas.length로 작성한뒤에 -1을 해주겠다.
i >= 0
그리고 이 루프는 언제 멈출까? 0이 지나면 멈출거다. 작성해야 할 조건은 JS를 통해 어떤 조건에서 루프가 계쏙 실행되는지 알려주는 거다. 기본적으로 counter가 0이상인 한 루프는 계속 실행되어야 한다. 처음 나온 숫자 4에서 i는 0보다 크기때문에 이 조건은 참이 되고 다음 반복이 실행된다. 그런 다음 index(0~4)나 counter를 줄여야 한다.
i--
4에서 3으로 옮김으로 i--를 작성해줬다.
for (let i = jonas.length - 1; i >= 0; i--) {
console.log(i, jonas[i]);
}
i를 counter를 하고 그런 다음 배열 값을 작성했다. 작성한 대로 배열 값이 4, 3, 2, 1, 0으로 추력되었다.
루프안에서 루프를 만드는 방법
for (let exercise = 1; exercise <= 4; exercise++) {
console.log(`------Starting exercise ${exercise}`);
for (let rep = 1; rep < 6; rep++) {
console.log(`Lifting weight repetition ${rep}🏋`);
}
}
15번을 반복해서 5번씩 3가지 운동을 한다고 가정해보겠다. 이 모든 운동을 고정시키려면 고리 안에 또 고리가 필요하다.
for문의 첫번째만 놓고 봤을때 3가지 훈련은 있는데 반복되는 것은 하나도 없다. 그래서 다시 루프안에 루프를 만들어야하는 것이다. 그래야 오른쪽 사진처럼 반복된다.
이렇게 루프가 완성되었다.