오늘은 그 유명한 '배열'에 대해 공부했다.
배열은 순서가 붙은 원소들이 연속적인 형태로 구성된 자료 구조이다. 쉽게 말해, '순서가 있는 자료형이라고 보면 된다.'
전에 학교에서나 개인적으로 공부 할때, 어떤 언어를 공부하던 간에 필수적으로 배웠던 것이고, 코딩 테스트 공부를 할 때도 정말 100문제 중 98문제가 배열 문제였을 정도로 많이 나왔기 때문에 꼭꼭 알아두어야 하는 개념이다.
1. 배열
배열은 대괄호( [ ] )를 이용해 선언한다. 변수를 선언하듯 배열의 이름을 선언하고, [ ] 안에 배열의 요소들을 넣어주면 된다.
단, 배열의 type은 객체(Object)이며 typeof를 이용해서 타입을 확인하면 Array가 아닌 Object로 나온다
let array = [1,23,456,7890]
//array는 1, 23, 456, 7890을 요소로 갖는 배열
배열의 각 요소(Elements)는 특정한 번호를 갖는데, 이를 인덱스(index)라고 한다.
인덱스는 0번부터 시작하며, 오른쪽으로 갈수록 값이 커진다.
배열의 길이는 '배열이름.length'로 알 수 있으며, 인덱스의 최댓값(마지막 인덱스)보다 항상 1이 크다.
let array = ['Muse', 'Radiohead', 'Nirvana', 'Oasis', 'Blur']
//0번 인덱스 = 'Muse'
//1번 인덱스 = 'Radiohead'
//2번 인덱스 = 'Nirvana'
//3번 인덱스 = 'Oasis'
//4번 인덱스 = 'Blur'
//array.length = 5
배열은 반복문을 통해 모든 요소들을 순회할 수 있다.
let array = ['존 레논', '폴 매카트니', '조지 해리슨', '링고 스타']
for(let i = 0; i < array.length; i++){
console.log(array[i])
}
반복문에서, i는 0부터 array의 길이 - 1 까지 1씩 증가한다.
이때 array의 i번째 index를 출력하면, array의 0번 index부터 array의 길이인 4 - 1 = 3번 index까지 순서대로 출력하게 된다.
2. 배열 메서드
이름 | 기능 |
push() | 배열의 맨 뒤에 값 추가 |
pop() | 배열의 맨 뒤 값을 삭제 |
unshift() | 배열의 맨 앞에 값 추가 |
shift() | 배열의 맨 앞 값을 삭제 |
isArray | 자료형이 배열인지 아닌지 판단 |
slice() | 배열을 잘라냄 |
splice() | 배열의 값 변경 및 추가 |
join() | 배열을 문자열로 합침 |
indexOf | 해당 요소의 index를 리턴 |
includes | 배열이 해당 요소를 포함하는지 판단 |
let array = ['Metallica', 'Megadeath', 'Pantera', 'Sum41', 'Royal Blood']
let string = 'Judas Preist'
let num = 1975
array.push(num)
//result = ['Metallica', 'Megadeath', 'Pantera', 'Sum41', 'Royal Blood', 1975]
array.pop()
//result = ['Metallica', 'Megadeath', 'Pantera','Sum41', 'Royal Blood']
array.unshift(string)
//result = ['Judas Preist', 'Metallica', 'Megadeath', 'Pantera', 'Sum41', 'Royal Blood']
array.shift()
//result = ['Metallica', 'Megadeath', 'Pantera', 'Sum41', 'Royal Blood']
Array.isArray(array)
//result = true
Array.isArray(string)
//result = false
array.slice(1, 3)
//result = ['Megadeath', 'Pantera']
array.splice(1, 3)
//result = ['Megadeath', 'Pantera', 'Sum41']
array.join("/")
//result = 'Metallica/Megadeath/Pantera/Sum41/Royal Blood'
array.indexOf('Pantera')
//result = 2
array.indexOf(1975)
//result = -1
array.includes('Metallica')
//result = true
array/includes(string)
//result = false
2023.01.07 - [코딩 테스트 공부/Study] - split(), join()
split(), join()
split() 이름 종류 기능 매개변수 split() 함수 문자열 분할 정수, 문자열, 변수 split()은 문자열을 배열로 나누어 주는 함수이다. 매개변수로는 문자열 또는 변수가 들어가며, 문자열을 매개변수로
kinggh.tistory.com
2023.01.09 - [코딩 테스트 공부/Study] - slice(), push()
slice(), push()
slice() 이름 종류 기능 매개변수 slice() 함수 문자열, 배열 자르기 정수, 변수(int) slice()는 문자열과 배열을 원하는 길이만큼 잘라 새로운 문자열 또는 배열을 만들 수 있는 함수이다. 매개변수로는
kinggh.tistory.com
2023.01.15 - [코딩 테스트 공부/Study] - splice()
splice()
splice() 이름 종류 기능 매개변수 splice() 함수 배열 내용 변경 정수, 문자, 배열 splice는 배열의 요소를 건드려 배열의 내용을 바꾸는 함수이다. 배열 요소 추가, 변경 및 삭제가 가능하며, 각 기능
kinggh.tistory.com
이전에 썼던 글중 배열 메서드에 대해 지세히 공부해 두었던 글들이 있으니 참조하며 보면 좋을 것 같다.
'Frontend Study' 카테고리의 다른 글
[FE Bootcamp] 13일차_원시 자료형과 참조 자료형 (0) | 2023.03.02 |
---|---|
[FE Bootcamp] 12일차_객체 (1) | 2023.02.28 |
[FE Bootcamp] 10일차_CLI와 Linux 기초 (0) | 2023.02.27 |
[FE Bootcamp] 9일차_계산기 만들기 (0) | 2023.02.23 |
[FE Bootcamp] 8일차_조건문, 반복문 문제풀이 (0) | 2023.02.22 |