배열이란?
- 여러 값이 연속으로 나열되어 저장된 공간으로, 연관성 있는 값들을 한 공간에 저장하기 위해 사용한다.
- 이러한 각각의 값을 엘리멘트(Element) 또는 요소라고 부른다.
- 배열에서는 인덱스(Index)라고 부르는 주소를 이용해 각각의 요소에 접근할 수 있다.
배열을 선언하는 방법
let myArray = []; // 변수 myArray를 선언하되, 대괄호를 적어 배열임을 정의
myArray = [19, 44, 'good', false]; // myArray 배열 안에 원하는 요소를 저장
console.log(myArray); // [19, 44, 'good', false] 출력
요소(Element)에 접근하기 : 배열의 인덱스 값을 활용하여
let myArray = [19, 44, 'good', false];
let first = myArray[0]; // 0부터 시작하는 배열의 인덱스 값을 통해 배열의 요소에 각각 접근 가능
console.log(first); // (배열의 0번째 인덱스 값인) 19 출력
// ※ 배열의 요소로 또 다른 배열을 갖는 경우
let myArray2 = [19, 44, 'good', [100, 200, 500], false]; // 인덱스 값이 3인 요소가 배열!
// Q. 배열 속의 배열에서 요소의 접근하려면?
console.log(myArray2[3][0]); // 100 출력 (myArray2에서 3번째 요소인 배열의 0번째 요소)
console.log(myArray2[3][1]); // 200 출력 (myArray2에서 3번째 요소인 배열의 1번째 요소)
console.log(myArray2[3][2]); // 500 출력 (myArray2에서 3번째 요소인 배열의 2번째 요소)
요소(Element)를 수정하기 : 배열의 인덱스 값을 활용하여
// 요소에 접근한 뒤, 해당 요소에 새로운 값을 할당하여 배열 안의 요소를 수정 가능
let myArray[0] = 500;
let myArray[3] = true;
console.log(myArray); // [500, 44, 'good', true]로 일부 요소 값이 수정되어 출력
요소(Element)를 추가하기 : 배열 맨 뒤에 요소를 추가하는 push() 메서드를 활용하여
myArray.push('kiwi'); // 'kiwi'라는 새로운 요소를 push() 명령으로 배열 맨 뒤에 추가
console.log(myArray); // [500, 44, 'good', true, 'kiwi']로 기존 배열에 새로운 요소가 추가
cf. 배열 맨 앞에 요소를 추가하는 unshift() 메서드 :
Array.prototype.unshift() - JavaScript | MDN
unshift() 메서드는 새로운 요소를 배열의 맨 앞쪽에 추가하고, 새로운 길이를 반환합니다.
developer.mozilla.org
요소(Element)를 삭제하기 ① : 배열 맨 뒤의 요소부터 삭제하는 pop() 메서드를 활용하여
myArray.pop(); // 'kiwi'라는 기존 배열의 마지막 요소를 pop() 명령으로 배열에서 제거
console.log(myArray); // [500, 44, 'good', true]로 기존 배열의 맨 뒷 요소가 삭제
요소(Element)를 삭제하기 ② : 배열 맨 앞의 요소부터 삭제하는 shift() 메서드를 활용하여
myArray.shift(); // 500이라는 기존 배열의 첫 번째 요소를 shift() 명령으로 배열에서 제거
console.log(myArray); // [44, 'good', true]로 기존 배열의 맨 앞 요소가 삭제
[주의] shift()/unshift() 메서드는 pop()/push() 메서드에 비해서 느리다?!
- 배열에 요소들이 들어있을 때, 맨 뒤에서 데이터를 넣고 빼는 것은 기존 데이터에 영향을 미치지 않기 때문에 빠른 기능을 수행할 수 있다.
- 반대로 앞에서부터 데이터를 넣으려고 한다면, 기존 요소들의 인덱스(Index)를 뒤로 이동시켜서 공간을 마련해 준 뒤에 처리해야 하므로 느린 기능을 수행한다고 할 수 있다.
- 배열이 길어지고 복잡할수록 이러한 현상들을 더 크게 느끼기 때문에 가능하면 pop()/push() 메서드를 사용하는 것이 더 좋다.
배열의 길이 구하기 : length 속성을 활용하여
let myArray3 = [1, true, 3.14, 'string', {name: 'object'}, [1, 2, 3]]; // 배열 선언
console.log(myArray3.length); // (요소의 데이터 타입과 상관 없이) 배열의 길이는 요소의 수인 6으로 출력
'TIL > [위코드] 풀스택 부트캠프 2기' 카테고리의 다른 글
[TIL] 객체란 무엇이며, 객체가 필요한 이유는? (JavaScript) (0) | 2021.08.10 |
---|---|
[TIL] 반복문의 필요성 & for 반복문의 작성 방법 (JavaScript) (0) | 2021.08.05 |
[TIL] 배열에서 자주 쓰이는 +7가지 메서드 (JavaScript) (0) | 2021.08.04 |
[TIL] Scope Chain 이해하기 (JavaScript) (0) | 2021.08.02 |
[TIL] 함수의 필요성 & 함수를 선언하는 4가지 방법 (JavaScript) (0) | 2021.08.02 |