-
오늘 프로그래머스 문제를 푸는데 0부터 9까지의 숫자가 들어가는 배열을 만드는게 필요했다. 직접 배열 안에 숫자를 전부 넣는 것도 가능하지만 (이제까지는 그렇게 풀어 오기는 했다.) 하드코딩 말고 개발자스럽게 만들어보고 싶었다.
배열 리터럴 사용
const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]배열은 만드는 가장 간단한 방법은 배열 리터럴을 이용하여 만드는 방법이다. 위의 코드와 같이 [](대괄호)사이에 요소를 쉼표로 구분하여 넣게되면 간단하게 배열을 생성할 수 있다.
배열 생성자 함수 사용
// 단일 매개변수 배열 생성자 const arr1 = new Array(10) // 복수 매개변수 배열 생성자 const arr2 = new Array(0, 1, 2, 3, 4 , 5, 6, 7, 8, 9)new 키워드를 사용하여 Array함수를 사용하게 되면 배열을 생성할 수 있다. 배열 생성자 함수에 단일 매개변수를 숫자로 사용하게 되면 적힌 숫자를 요소의 갯수를 가진 배열이 생성되게 된다. 앞과 다르게 여러 개의 매개변수로 배열 생성자 함수를 작성하게 되면 그 매개변수들을 요소로 갖는 배열이 생성된다.
복수 매개변수를 사용하여 배열 생성자 함수로 만들면 매개변수가 배열의 요소가 되지만 단일 매개변수로 배열을 생성하게 되면 길이를 측정하면 내가 만든 길이가 나오지만 요소가 들어가 있지 않아 요소들이 undefined를 나타내게 된다.
const arr = Array(10).fill().map((el, idx)=>idx) // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]요소를 채우기 위해서 fill매서드를 사용하여 요소를 채워준다 위의 예시는 매개변수에 아무것도 넣어 주지 않았지만 만약 같은 요소로 전부 채우고 싶다면 넣어줄 요소를 fill의 매개변수에 넣어주면 된다. 나는 같은 요소를 갖는 배열을 만드는 것이 아니기 때문에 아무것도 채워넣지 않고 배열을 map매서드를 사용하여 index값을 넣어 0부터 9까지 숫자를 요소로 가지는 배열을 만들었다. new 키워드를 사용하지 않아도 생성자 함수로 동작하는걸 볼 수 있다.
출처
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Array