let count = 1; for (let i = 0; i < 6; i++) { count = count + 1; }
function findSmallestElement(arr) { if (arr.length === 0) { return 0; } let result = arr[0]; for (let i = 1; i < arr.length; i++) { if (arr[i] < result) { result = arr[i]; } } return result ; } console.log(findSmallestElement([12,25,54,100,2]))
위 예문은, i가 배열의 길이만큼 반복될 동안 arr[i] 값이 result 변수에 할당된 값보다 작은지를 비교한다. 만약 작다면 result 변수에는 arr[i] 값이 새롭게 할당된다.
이러한 방식으로 arr배열의 모든 값을 비교해보고 최소 값을 찾을 수 있다.
for-in문은 ES6에서 추가된 문법으로, for문을 조금 더 단순화한 것이다.
일반적인 for문 선인시 쓰는 for(let i = 0; i < arr.length; i ++)
을 아래와 같이 간단히 표현할 수 있다.
for (let i in arr) { console.log(i) console.log(arr[i]) }
기존 for문과 달리 for-in문은 배열은 물론 객체에서도 작동 가능하다.
const obj = { name: 'melon', weight: 4350, price: 16500, isFresh: true } for (let key in obj) { const value = obj[key] console.log(key) console.log(value) }
이렇게 객체를 가지고 for-in 문을 사용하면, for-in 문의 인덱스에 해당하는 변수가, 숫자가 아닌 객체의 각각의 키에 해당하는 문자열을 할당 받는다.
i <= arr.length
가 아니라 i < arr.length
를 사용해야 한다.<=
작거나 같다는 연산자를 사용하면 i는 0부터6까지 실행되어 총 7번의 반복문을 실행하기 때문이다.