[TIL] 배열의 기초

lmimoh·2022년 9월 2일
0

TIL

목록 보기
7/26
post-thumbnail

배열의 정의

배열은 변수명과 순서(index)로 참조되는 정렬된 값 의 집합을 의미한다.
이때, 각각의 값은 요소(element) 라고 부른다.

자바스크립트에서 배열의 특징은 다음과 같다.

  • 배열 요소의 타입은 각각 상이 할 수 있다.
let array = [1, '2', 3];
  • 배열 요소의 인덱스는 연속적이지 않을 수 있고 , 특정 요소가 비어있을 수 있다.
let array = [1, 2, , 3, 4];
console.log(array[2]); // undefined
  • 자바스크립트에서 배열은 Array 객체 로 다루어진다.

자바스크립트의 배열은 사실 일반적인 배열의 동작을 모방한 객체이다. 이는 배열 요소의 메모리 공간이 상이할 수 있고, 연속적이지 않다는 점에서 알 수 있다.
이러한 배열을 '희소배열(space array)' 이라고 부른다.


배열의 사용법

해당 부분에서 설명하는 배열의 사용법은 javascript 상의 배열에 국한된다.

배열의 선언과 초기 할당은 다음과 같다.

let array = [1, 2, 3]; // 변수타입 + 변수명 = [ 요소1, 요소2, ... , 요소n];

let array2 = [[1, 2], [3, 4], [5, 6]] // 이차원 배열

배열은 index를 통해 조회할 수 있다.

console.log(array[1]); // 2
console.log(array2[1][1]); // 4

배열은 재할당과 값 추가가 가능하다.

array[0] = 2; // array = [2, 2, 3]
array[3] = 4; // array = [2, 2, 3, 4]

배열은 length를 기본 속성으로 가지고 있으며, 배열의 index 길이를 반환한다.

console.log(array.length); // 3
console.log(array2.length); // 3
console.log(array2[0].length); // 2

배열의 기본적인 매소드

array.push(argument) : 배열의 마지막에 값을 추가한다.

let array = [1, 2, 3];
array.push(4); // array = [1, 2, 3, 4]

array.pop() : 배열의 마지막 값을 제거한다.

array.pop(); // array = [1, 2, 3]

array.unshift(argument) : 배열의 처음에 값을 추가한다.

array.unshift(0); // array = [0, 1, 2, 3]

array.shift() : 배열의 첫 값을 제거한다.

array.shift(); // array = [1, 2, 3]

Array.isArray(argument) : 해당 변수가 배열인지 확인하고 true or fasl를 반환하다.

Array.isArray(array); // true
Array.isArray('value'); // false;

.indexOf(argument) : 배열 내 특정 값을 확인하고 index를 반환한다. 존재하지 않을 시 -1 반환

array.indexOf(1); // 0
array.indexOf('1'); // -1

.includes(argument) : 배열 내 특정 값을 확인하고 true or false를 반환한다.

array.includes(1); // true
array.includes('1'); // false

이때, includes 함수는 호환성 문제(IE 미지원) 가 존재한다. 따라서, IE 환경을 고려할 경우 배열 내 특정 값의 존재 여부를 확인할 때 indexOf를 활용한 함수를 사용할 수 있다.


+ 배열과 반복문의 조합

배열은 일반적으로 반복문과 자주 사용되곤 하므로, 배열의 접근에 반복문이 조합된 예시를 살펴보자.

  • 배열 array의 요소를 출력하는 경우
for(let n = 0; n < array.length; n++) {
	console.log(array[n]);
}
// n개의 요소를 갖는 array의 모든 요소를 출력한다.
  • 배열 array의 요소의 합을 리턴하는 함수
function sumArray(array) {
  let sum = 0;
 
  for(let n = 0; n < array.length; n++) {
    sum += array[n];
  }
  
  return sum; // 배열 array의 모든 요소 합을 반환
}

profile
성장하는 개발자, 이민훈입니다.

0개의 댓글