JavaScript에서 특정 길이의 배열 생성
-
JavaScript에서
Array()
생성자를 사용하여 길이 배열 만들기 -
JavaScript의
apply()
메서드를 사용하여 길이 배열 만들기 -
JavaScript의
map()
메서드를 사용하여 길이 배열 만들기 -
JavaScript의
fill()
메서드를 사용하여 길이 배열을 만듭니다
JavaScript에서는 특정 길이의 배열을 생성하거나 선언하고 배열 내부에 원하는 값을 삽입해야 할 수 있습니다. 다양한 방법으로 달성할 수 있습니다.
다음은 JavaScript에서 특정 길이의 배열을 만드는 가장 일반적인 방법입니다. 이제 대부분의 경우 특정 길이의 배열을 생성하거나 선언할 필요가 없기 때문에 이것이 필요하다고 생각되는 경우에만 이것을 사용하십시오. 동적으로 배열을 만들어 사용할 수 있습니다.
JavaScript에서 Array()
생성자를 사용하여 길이 배열 만들기
특정 길이의 빈 배열을 만드는 첫 번째 방법은 Array()
생성자를 사용하고 정수를 인수로 전달하는 것입니다. 생성자를 호출하기 때문에 new
키워드를 사용합니다.
var arr = new Array(5);
console.log(arr)
출력:
[undefined, undefined, undefined, undefined, undefined]
특정 길이의 배열을 만드는 이 방법은 문제를 일으킬 수 있으므로 JSlint를 사용하는 경우 권장되지 않습니다. 이 방법은 모호하고 특정 길이의 배열을 만드는 것뿐만 아니라 다음과 같이 값이 포함된 배열을 만드는 것과 같은 다른 작업에도 사용할 수 있습니다.
var arr_2 = new Array('5');
console.log(arr_2)
출력:
[ "5" ]
JavaScript의 apply()
메서드를 사용하여 길이 배열 만들기
Array
생성자는 apply()
라는 메소드를 제공합니다. 이 apply()
메소드를 사용하여 배열 형태로 메소드에 인수를 제공할 수 있습니다. apply()
메소드는 두 개의 인수를 취합니다. 첫 번째는 this
인수에 대한 참조이고 두 번째는 배열입니다.
var myArr = Array.apply(null, Array(5));
console.log(myArr);
출력:
[undefined, undefined, undefined, undefined, undefined]
특정 길이의 빈 배열을 생성하기 위해 5
라고 가정해 보겠습니다. 첫 번째 인수로 null
을 전달하고 두 번째는 Array(5)
배열입니다. 이것은 길이가 5인 배열을 생성하고 undefined
값으로 각 요소를 초기화합니다.
또는 다음을 수행할 수도 있습니다. 여기에서 배열 객체를 두 번째 매개변수로 전달한 다음 그 안에 생성하려는 배열의 길이를 정의할 수 있습니다(이 경우 5
).
var arr = Array.apply( null, { length: 5 } );
console.log(arr);
console.log(arr.length);
출력:
[undefined, undefined, undefined, undefined, undefined]
5
JavaScript의 map()
메서드를 사용하여 길이 배열 만들기
특정 길이의 배열을 만드는 또 다른 방법은 JavaScript에서 map()
메서드를 사용하는 것입니다. 여기에서 Array(5)
생성자는 길이가 5인 빈 배열을 생성합니다. 이것은 이전에 본 것과 유사합니다. 그런 다음 확산 연산자 ...
를 사용하여 배열의 모든 요소를 확산하고 [...Array(5)]
와 같은 대괄호로 묶습니다. 각 요소의 값이 정의되지 않음
이 되는 길이 5의 배열을 생성합니다. 그런 다음 이 배열을 초기화하기 위해 map()
메서드를 사용할 것입니다.
[...Array(5)].map(x => 0);
출력:
[0, 0, 0, 0, 0]
map()
메서드를 사용하여 x
변수 내의 모든 요소를 가져온 다음 값 0을 추가합니다. 이것은 배열의 모든 요소를 0으로 초기화합니다.
JavaScript의 fill()
메서드를 사용하여 길이 배열을 만듭니다
fill()
메소드도 map()
과 동일한 방식으로 작동합니다. 유일한 것은 fill()
이 매개변수로 어떤 기능도 취하지 않는다는 것입니다. 값을 직접 입력으로 받습니다. 특정 길이 Array(5)
의 배열을 만든 다음 아래와 같이 일부 정수 값으로 배열을 채울 수 있습니다.
Array(5).fill(0);
// [0, 0, 0, 0, 0]