[프로그래머스 | JS] Lv0. 카운트 업

HICHULOG·2023년 7월 8일
0

프로그래머스

목록 보기
8/38
post-thumbnail

카운트 업

📝 문제

정수 start와 end가 주어질 때, start부터 end까지의 숫자를 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.

⛔️ 제한 사항

  • 0 ≤ start ≤ end ≤ 50

💡 풀이

function solution(start, end) {
    let arr = [];
    for(let i=start; i<=end; i++){
        arr.push(i);
    }
    return arr;
}

=> 빈 배열 arr에 start 부터 end까지 push()해줬다.

✅ 다른 풀이

function solution(start, end) {
    idx = start;
    return Array.from({length: end-start+1}, ()=> {return start++});
}

=> 이 글을 작성한 이유. Array.from()사용법을 남기고 싶어서.

🚀 TIL

Array.from()

Array.from() 메서드는 유사 배열 객체(array-like object)나 반복 가능한 객체(iterable object)를 얕게 복사해 새로운Array 객체를 만듭니다.

 Array.from(arrayLike[, mapFn[, thisArg]])

매개변수

arrayLike
배열로 변환하고자 하는유사 배열 객체나 반복 가능한 객체.

mapFnOptional
배열의 모든 요소에 대해 호출할 맵핑 함수.

thisArgOptional
mapFn 실행 시에 this로 사용할 값.

반환 값
새로운 Array 인스턴스.

설명

다음과 같은 경우에 Array.from()으로새Array를 만들 수 있습니다.

  • 유사 배열 객체 (length 속성과 인덱싱 된 요소를 가진 객체)
  • 순회 가능한 객체 (en-US) (Map, Set 등객체의 요소를 얻을 수 있는 객체)

Array.from()은 선택 매개변수인 mapFn를 가지는데, 배열(혹은 배열 서브클래스)의 각 요소를맵핑할 때 사용할 수 있습니다. 즉, Array.from(obj, mapFn, thisArg)는 중간에 다른 배열을 생성하지 않는다는 점을 제외하면 Array.from(obj).map(mapFn, thisArg)와 같습니다. 이 특징은 typed arrays와 같은 특정 배열 서브클래스에서 중간 배열 값이 적절한 유형에 맞게 생략되기 때문에 특히 중요합니다.

from() 메서드의 length 속성은 1입니다.

ES2015 이후, 클래스 구문은 내장 및 새 클래스의 상속을 가능케 했습니다. 그 결과로 Array.from과 같은 정적 메서드는 Array의 서브클래스에 의해 상속되며, Array 대신 자신의 인스턴스를 만듭니다.

profile
🚀 Front-end Dev

0개의 댓글