본문 바로가기

Programming/JavaScript

DAY 86. JavaScript - 배열

 

배열

  • 배열은 문자 뿐만 아니라, 숫자, 객체, 함수 등도 포함할 수 있다.

다양한 타입의 데이터를 보관하는 변수 모음이자 객체이다.

[ ] 를 통해 생성과 초기화를 동시에 처리가 가능하다.

자료형 지정이 없기 때문에 모든 자료형 데이터로 저장이 가능하다.

** 숫자, 문자열, 함수, Boolean, undefined, 객체

 

let 변수명 = [값1(숫자), 값2(숫자), 값3(객체), 함수 ...];

 

  • 값 입력시 index 번호 활용한다.
  • 배열에 요소가 추가되면 .length 프로퍼티도 자동으로 갱신된다.

 

 

배열 선언 (Array Declaration)

new 연산자와 Array 객체를 통해 배열을 선언한다.

▶️ 크기를 정하지 않은 배열의 선언 : var 변수명 = new Array();

▶️ 크기를 정한 배열 선언 : var 변수명 = new Array(개수);

 

배열 초기화

▶️ new 연산자를 활용하여 초기화 : var 배열변수 = new Array(값1, 값2, ... 값n);

▶️ [ ] 를 활용한 초기화 : var 배열변수 = [값1, 값2, 값3, ... 값n];

 

배열에 값 대입

값 입력 시에는 index 번호를 활용한다. (0 ~ 지정크기-1)

▶️ 배열에 값 대입 : 배열[첨자] = 값;

▶️ 변수에 배열 값 대입 : 변수 = 배열[첨자];

 

배열 객체의 메소드

자바스크립트 배열의 메소드

 

[중요 Note]

shift, unshift는 pop과 push보다 느리다!

why??

앞에서 데이터를 넣는 것은 원래 위치에 있던 데이터를 뒤로 한 칸씩 밀면서 빈 공간에 데이터를 집어 넣는다.

또한, 지울 때에도 지정 위치를 삭제하고 뒤에서 앞으로 한 칸 씩 당겨온다. 

 

sort()메소드

문자열 기준으로 오름차순으로 정렬한다.

정렬 방법을 바꾸고 싶을 때는 sort() 인자에 함수를 설정하면 된다.

매개변수로 들어가는 함수에는 기본 2개의 매개변수를 설정할 수 있다.

배열변수.sort(function(left, right){
	return left - right;   // 오름차순
  또는
	return right - left;   // 내림차순
}

 

 

🖇️ Looping over an array

// a. for 문 사용하기

for (let i = 0; i <fruits.length; i++){
	console.log(fruits[i]);	
}

// b. for of 사용하기
for(let fruit of fruits){
	console.log(fruit);
}

// c. forEach 사용하기
fruits.forEach(function(fruit, index [, array]){
	console.log(fruit, index [, array]);
});

// arrow로 변경
fruits.forEach((fruit[, index]) => console.log(fruit[, index]));

// 즉, forEach는 배열안에 들어잇는 value들 마다 내가 전달한 함수를 출력한다.