Javascript/Javascript

[Js] 배열 생성

Rainbow🌈Coder 2022. 7. 22. 19:03
728x90
interface ArrayConstructor {
    /**
     * Creates an array from an array-like object.
     * @param arrayLike An array-like object to convert to an array.
     */
    from<T>(arrayLike: ArrayLike<T>): T[];

    /**
     * Creates an array from an iterable object.
     * @param arrayLike An array-like object to convert to an array.
     * @param mapfn A mapping function to call on every element of the array.
     * @param thisArg Value of 'this' used to invoke the mapfn.
     */
    from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];

    /**
     * Returns a new array from a set of elements.
     * @param items A set of elements to include in the new array object.
     */
    of<T>(...items: T[]): T[];
}

    of<T>(...items: T[]): T[]; 갯수를 알 수 없는 아이템들의 배열을 받고, 그것을 반환

interface ArrayConstructor {
    /**
     * Creates an array from an iterable object.
     * @param iterable An iterable object to convert to an array.
     */
    from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];

    /**
     * Creates an array from an iterable object.
     * @param iterable An iterable object to convert to an array.
     * @param mapfn A mapping function to call on every element of the array.
     * @param thisArg Value of 'this' used to invoke the mapfn.
     */
    from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
}

 

1. 배열 만들기

- 리터럴 방식 :  let shows = ['미드나잇쇼','런치쇼','데뷔쇼','매직쇼'];

- 정적 메소드 이용 방식

  (1) Array.of

  (2) Array.from

- new 이용 : let shows = new Array('미드나잇쇼','런치쇼','데뷔쇼','매직쇼');

 

 

    /**

//이터러블 오브젝트로 부터 새로운 배열을 만든다.

//이터러블 : 순회가 가능한
     * Creates an array from an iterable object.
     * @param iterable An iterable object to convert to an array.
     */
    from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];

 

=> 즉 배열 뿐 아니라 순회가 가능한 것들을 전달할 수 있다.

 

<예제 코드 정리>

let 과일 = new Array('사과', '바나나', '청포도');
for (let i = 0; i < 과일.length; i++) {
	console.log(과일[i]);
}

//배열을 전달하면 그대로 복사해서 새롭게 배열을 만들어준다.
let shows = Array.of('미드나잇쇼', '런치쇼', '데뷔쇼', '매직쇼');
for (let i = 0; i < shows.length; i++) {
	console.log(shows[i]);
}

const copyShows = Array.from(shows[0]);
console.log(copyShows);

728x90