배열과 반복문
function arrayLoop () {
let myArray = [];
for (let i = 100; i < 111; i++) {
myArray.push(i)
}
return myArray
}
console.log(arrayLoop()) // [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110]
기존에 가지고 있던 개념 지식을 살려서 강의 듣기 전에 혼자서 코드를 짜봤는데 결과가 제대로 나왔다!
반복문이 제대로 순회하고 있는지를 확인하는 가장 쉬운 방법은 console을 찍어가면서 확인해보는 것이다. Javascript 디버깅 방법 중 가장 쉬우면서도 중요한 방법이 console을 찍어보는 것이다. 위의 예제의 경우에는 .push 메서드 전후로 console을 찍어보는 것이 효과적이다.
function arrayLoop () { let myArray = []; for (let i = 100; i < 111; i++) { console.log('before push: ', myArray); myArray.push(i); console.log('after push: ', myArray); } return myArray } console.log(arrayLoop())
배열과 반복문을 함께 자주 사용하는 이유에 대해 그동안 배운 배열과 반복문의 개념을 살려서 생각해본다면
같은 코드를 100번 혹은 그 이상 화면에 출력해야 할 때 반복문을 사용하지 않는다면 코드의 양이 비효율적으로 늘어난다. 그 중에 일부 코드의 내용을 수정해야 한다면 찾기도 어려울 것이다. 이처럼 유지보수가 어려워진다.
반복문을 통해 계산을 하게 된다면 빠르고 정확한 계산이 가능하다. 또한 새로운 배열을 작성하기 용이하다.
Array의 요소를 순회하며 콘솔에 출력한다는 의미는 배열에 들어있는 각 요소들이 각각 console에 출력된다는 의미이다. 이것은 배열이 그대로 출력된 것과는 다른 이야기이다.
let colors = ['red', 'blue', 'orange', 'black'];
for (let i = 0; i < 4; i++) {
console.log(colors[i])
}
// red
// blue
// orange
// black
let myNumbers = [10, 20, 30, 40, 50];
for (let i = 0; i < 5; i++) {
console.log(myNumbers[i] + 1);
}
// 11
// 21
// 31
// 41
// 51
만약 아래 처럼 인덱스에 + 1 을 한다면 그만큼 인덱스가 1씩 당겨져서 호출이 된다. 그러면 20, 30, 40, 50, undefined 가 출력이 된다.
console.log(myNumbers[i + 1]);
만약 Array의 요소가 수없이 많을 때 반복문을 사용해야 한다면 for문의 조건문에 들어갈 범위를 지정하는 것이 어려울 것이다. 매번 바뀔 때마다 일일이 계산하여 조건문의 범위를 지정할 수 없을 것이다. 이 때 우리가 생각할 수 있는 것은 배열의 실제 길이와 배열의 인덱스을 생각하는 것이다.
배열의 실제 길이 = 배열의 인덱스 + 1
배열의 인덱스 = 배열의 실제 길이 - 1
를 활용한다면 예를 들어 a배열의 길이가 5938일 때 for문의 조건문에 들어갈 범위는 ' 1 < 5938(즉, a.length)' 이며 실제로 순회하는 인덱스는 5937이 될 것이다.
let myNum = [1, 100, 88, 35, 571]
for (let i = 0; i < myNum.length; i++) {
console.log(myNum[i])
}