배열 (array)
- 같은 타입의 테이터들을 하나의 변수에 할당하여 관리하기 위해 사용하는 데이터 타입
배열의 선언
- new Array( ) /
[ ]
const arr1 = new Array(1,2,3,4,5)
const arr2 = [1,2,3,4,5]
배열 안의 데이터
- 배열에 있는 데이터 각각을 ‘요소(element)’라 부름
- 배열에서는 ‘인덱스(index)’가 객체의 속성명과 같은 역할
- index는 배열 안 데이터의 순서 (0 부터 시작)
const rainbowColors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
console.log(rainbowColors[0]) //red
console.log(rainbowColors[1]) //orange
console.log(rainbowColors[2]) //yellow
console.log(rainbowColors[3]) //green
console.log(rainbowColors[4]) //blue
console.log(rainbowColors[5]) //indigo
console.log(rainbowColors[6]) //violet
배열의 길이
- length
const rainbowColors = ['red', 'orange', 'yellow', 'green', 'blue',
'indigo', 'violet']
console.log(rainbowColors.length) // 7
console.log(rainbowColors [rainbowColors.length - 1]) // Violet
배열의 요소 추가와 삭제
- push, pop
const rainbowColors = ['red', 'orange', 'yellow', 'green', 'blue', indigo', 'violet']
rainbowColors.push('ultraviolet') // 마지막 요소 'ultraviolet'
console.log(rainbowColors)
rainbowColors.pop() // 마지막요소 'violet'
console.log(rainbowColors)
배열과 반복문
- 배열의 요소들을 하나씩 꺼내어 출력
const rainbowColors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
for (let i = 0; i < rainbowColors.length; i++) {
console.log(rainbowColors[i])
}
- 배열의 인덱스는 0부터 시작하므로 변수 i의 시작값도 0 (let i = 0;)
- i가 배열의 길이보다 작을 떄에만 반복문 안의 코드 실행
( i < rainbowColors.length;) - 모든 요소를 출력해야하므로 i는 1씩 증가 ( i++ )
- 좀 더 간단한 형식의 for 문
const rainbowColors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
for (const color of rainbowColors) {
console.log(color)
}
- 배열에서 요소들을 차례대로 하나씩 찾아 color라는 변수에 할당
- 자동으로 배열의 끝까지 반복문 실행
- 상품가격 데이터 배열 합계와 평균 구하기
const priceList = [1000, 2000, 4000, 50000, 15000, 10000, 22000, 38000, 10000, 4000]
let sum = 0
for (const price of priceList) {
sum += price // assingment Operators (대입연산자)
}
const avg = sum / priceList.length // sum을 배열의 길이만큼 나눈다.
console.log(`합계: ${sum}, 평균: ${avg}`)