Dandy Now!
  • [JavaScript] python range()와 유사한 JavaScript 코드 작성
    2023년 05월 20일 22시 57분 43초에 업로드 된 글입니다.
    작성자: DandyNow
    728x90
    반응형

    1. lodash 라이브러리

    python에 있는 range() 함수는 매개변수로 시작하는 정수 값과 끝나는 정수 값의 -1에 해당하는 이터러블한 정수 값을 생성해 준다. Javascript에는 유사한 문법이 없을까 고민한 적이 있다. node.js의 lodash 모듈을 이용하면 유사한 기능이 가능했다.

     

    lodash.range() 를 사용하기 위해서는 아래와 같이 모듈을 설치해야 한다.

    npm i lodash

     

    아래 코드는 lodash.range()를 간단하게 사용해 본 것이다.

    const lodash = require("lodash");
    
    let arr = lodash.range(0, 10);
    
    console.log(arr);
    
    // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

     

    2. 배열의 from 메서드 이용

    2.1. 0 부터 n-1까지 배열 요소 생성

    Array.from({ length: n }, (_, i) => i)

    위 코드는 lodash 패키지 설치 없이 가능한 코드이다.

     

    2.2. step 기능 추가

    Python의 내장 함수 range는 3개의 인수를 받으며, 그 중 3번째 인수에 스텝을 지정할 수 있다. 아래 코드는 이 기능을 적용한 코드이다.

    const range = (start, stop, step = 1) => {
      return Array.from(
        { length: (stop - start) / step + 1 },
        (_, i) => start + i * step
      );
    };

     

    출처
    https://bytes.dev/archives/157
    728x90
    반응형
    댓글