..

Search

40) Array 객체

40) Array 객체

Array 객체


Array 객체

자바스크립트에서 배열(array)은 정렬된 값들의 집합으로 정의되며, Array 객체로 다뤄집니다.

 

자바스크립트 배열 표현에 대한 더 자세한 사항은 자바스크립트 배열 수업에서 확인할 수 있습니다.

자바스크립트 배열 수업 확인 =>


Array 메소드

자바스크립트는 사용자가 배열과 관련된 작업을 손쉽게 할 수 있도록 다양한 메소드를 제공하고 있습니다.

Array 메소드는 Array 객체에 정의된 배열과 관련된 작업을 할 때 사용하는 메소드입니다.

 

1. Array.isArray()

2. Array.from()

3. Array.of()


Array.isArray() 메소드

Array.isArray() 메소드는 전달받은 값이 Array 객체인지 아닌지를 검사합니다.

예제

Array.isArray([]);          // true

Array.isArray(new Array()); // true

Array.isArray(123);         // false

Array.isArray("Array");     // false

Array.isArray(true);        // false

코딩연습 ▶


Array.from() 메소드

ECMAScript 6부터 추가된 Array.from() 메소드는 다음 객체들을 배열처럼 변환시켜 줍니다.

 

1. 배열과 비슷한 객체(array-like objects) : length 프로퍼티와 인덱스 된 요소를 가지고 있는 객체

2. 반복할 수 있는 객체(iterable objects) : Map과 Set 객체 및 문자열과 같이 해당 요소를 개별적으로 선택할 수 있는 객체

 

하지만 이렇게 생성된 객체는 정확히 말하면 Array 객체는 아니며, Array 객체의 자식 클래스(child class)입니다.

예제

function arrayFrom() {

    return Array.from(arguments);

}

Array.from(arrayFrom(1, 2, 3));        // [1, 2, 3]

var myMap = new Map([[1, 2], [3, 4]]);

Array.from(myMap);                     // [1, 2, 3, 4]

Array.from("JavaScript");              // [J,a,v,a,S,c,r,i,p,t]

코딩연습 ▶

 

Array.from() 메소드는 파이어폭스 32.0 이상의 버전에서만 지원합니다.

Array.of() 메소드

ECMAScript 6부터 추가된 Array.of() 메소드는 인수의 수나 타입에 상관없이 인수로 전달받은 값을 가지고 새로운 Array 인스턴스를 생성합니다.

이때 Array.of() 메소드와 Array 객체 생성자와의 차이로는 정수로 전달된 인수의 처리 방식에 있습니다.

예제

 

new Array(10); // [,,,,,,,,,] -> 10개의 배열 요소를 가지는 빈 배열을 생성함.

Array.of(10);  // [10] -> 한 개(숫자 10)의 배열 요소를 가지는 배열을 생성함.

 

코딩연습 ▶

 

위의 예제에서 Array 객체 생성자에 인수로 정수 10을 전달하면, 생성자는 길이가 10인 빈 배열을 생성합니다.

하지만 Array.of() 메소드에 인수로 정수 10을 전달하면, 정수 10을 배열 요소로 가지는 길이가 1인 배열을 생성합니다.

 

Array.of() 메소드는 익스플로러, 오페라, 사파리에서 지원하지 않습니다.

자바스크립트 Array 메소드

메소드 설명
Array.isArray() 전달된 값이 Array 객체인지 아닌지를 검사함.
Array.from() 배열과 비슷한 객체와 반복할 수 있는 객체를 배열처럼 변환함.
Array.of() 인수의 수나 타입에 상관없이 인수로 전달받은 값을 가지고 새로운 Array 인스턴스를 생성함.

연습문제