Notice
Recent Posts
Recent Comments
Link
관리 메뉴

데브마우스

[JavaScript] 배열(Array)의 객체와 메서드 정리 본문

JavaScript/JS: 문법 정리

[JavaScript] 배열(Array)의 객체와 메서드 정리

데브마우스 2024. 1. 1. 14:13

자바 스크립트의 배열 생성 방법

자바스크립트 배열 객체 생성 방법 1 var subject = new Array(1, 2, 'js');
자바스크립트 배열 객체 생성 방법 2 var subject = [1, 2, 'js'];

 

배열의 객체 프로퍼티

객체 프로퍼티 설명 예제 코드
length 배열의 개수를 반환합니다. var subject = [1, 2, 'js'];
subject.length; // 출력: 3


배열의 메서드

메서드 이름 설명 예제 코드
slice() slice(0,4)인 경우 인덱스 0번 부터 인덱스 3번까지의 배열을 반환합니다. var alphabet = ['a', 'b', 'c', 'd', 'e'];
console.log(alphabet.slice(0, 3)); 
join() 특정한 문자를 배열의 요소를 삽입하여 반환합니다. var alphabet = ['a', 'b', 'c', 'd', 'e'];
console.log(alphabet.join('-'));
concat() 배열을 연결합니다. var alphabet1 = ['a', 'b', 'c'];
var alphabet2 = ['d', 'e'];
console.log(alphabet1.concat(alphabet2));
toString() 배열을 문자열로 반환합니다. var alphabet = ['a', 'b', 'c', 'd', 'e'];
console.log(alphabet.toString());
shift() 배열의 첫 번째 요소를 삭제합니다. var alphabet = ['a', 'b', 'c', 'd', 'e'];
alphabet.shift();
console.log(alphabet);
unshift() 배열에 파라미터로 들어간 요소를 배열의 첫 번째에 추가합니다. var alphabet = ['b', 'c', 'd', 'e'];
alphabet.unshift('a');
console.log(alphabet);
push() 배열에 파라미터로 들어간 요소를 배열의 마지막에 추가합니다. var alphabet = ['a', 'b', 'c', 'd'];
alphabet.push('e');
console.log(alphabet);
pop() 배열의 마지막 요소를 삭제합니다. var alphabet = ['a', 'b', 'c', 'd', 'e'];
alphabet.pop();
console.log(alphabet);
splice() 지정된 부분의 배열을 추가, 삭제, 변경할 수 있습니다. var alphabet = ['a', 'b', 'c', 'd', 'e'];
splice() - 추가 1번에 0개 삭제 후 f를 추가합니다. alphabet.splice(1, 0, 'f');
console.log(alphabet);
// 출력: ['a', 'f', 'b', 'c', 'd', 'e']
splice() - 삭제 1번에 1개 삭제합니다. alphabet.splice(1, 1);
console.log(alphabet);
// 출력: ['a', 'c', 'd', 'e']
splice() - 수정 1번에 1개 삭제 후 f를 추가합니다. alphabet.splice(1, 1, 'f');
console.log(alphabet);
// 출력: ['a', 'f', 'c', 'd', 'e']
reverse() 배열의 순서를 역순으로 바꿉니다. var alphabet = ['a', 'b', 'c', 'd', 'e'];
console.log(alphabet.reverse());
// 출력: ['e', 'd', 'c', 'b', 'a'];
sort() 배열의 요소를 오름차순으로 정렬합니다.

단 배열의 정렬은 문자열을 기준으로 비교하기 때문에 [2, 41, 11]을 정렬할 경우 41은 4로 11은 1로 처리되어 [11, 2, 41]순으로 정렬되는 문제가 발생합니다.

아래 예시에서 이 문제를 해결하는 방법이 있습니다.
var num = [2, 41, 11];
num.sort();
console.log("num.sort(): " + num);
// 출력: num.sort(): 11,2,41
sort() - 오름차순 sort() 오름차순(Ascending)으로 정렬하는 코드입니다. num.sort(function(a, b) {
    return a-b;
});
console.log("오름차순, num.sort return a-b: " + num.toString());
// 출력: 오름차순, num.sort return a-b: 2,11,41
sort() - 내림차순 sort() 내림차순(Descending)으로 정렬하는 코드입니다. num.sort(function(a, b){
    return b-a;
});
console.log("내림차순, num.sort return b-a: " + num.toString());

//출력: 내림차순, num.sort return b-a: 41,11,2