스택큐힙리스트

자바스크립트에는 "range()"와 유사한 방법으로 제공된 범위 내에서 범위를 생성하는 메소드가 있을까요? 본문

카테고리 없음

자바스크립트에는 "range()"와 유사한 방법으로 제공된 범위 내에서 범위를 생성하는 메소드가 있을까요?

스택큐힙리스트 2024. 2. 27. 10:29
반응형

PHP에서는 다음과 같이 할 수 있습니다...


range(1, 3); // Array(1, 2, 3)
range(A, C); // Array(A, B, C)

즉, 상한값과 하한값을 전달하여 숫자 또는 문자의 범위를 얻을 수 있도록 하는 함수가 있습니다.


이와 같은 기능을 JavaScript에 내장된 것이 있나요? 그렇지 않다면, 어떻게 구현할 수 있을까요?

답변 1

function range(size:number, startAt:number = 0):ReadonlyArray<number> {
return [...Array(size).keys()].map(i => i + startAt);
}
function characterRange(startChar:string, endChar:string):ReadonlyArray<string> {
return String.fromCharCode(...range(endChar.charCodeAt(0) -
startChar.charCodeAt(0), startChar.charCodeAt(0)))
}

lodash.js _.range() 기능


_.range(10);
=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
_.range(1, 11);
=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
_.range(0, 30, 5);
=> [0, 5, 10, 15, 20, 25]
_.range(0, -10, -1);
=> [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
String.fromCharCode(..._.range('A'.charCodeAt(0), 'D'.charCodeAt(0) + 1));
=> ABCD

라이브러리 없이 구현된 예전의 ES6이 아닌 브라우저:


Array.apply(null, Array(5)).map(function (_, i) {return i;});
=> [0, 1, 2, 3, 4]


console.log([...Array(5).keys()]);



(ES6 크레딧은 닐스 피터손과 다른 댓글 작성자들에게 있습니다)

답변 2

JavaScript에는 range()와 같이 사용자가 제공한 범위 내에서 범위를 생성하는 메서드가 있습니까? 이 주제에 대한 SEO를 고려한 한국어 에세이를 작성해주세요.
JavaScript는 기본적으로 range()와 같이 범위 생성을 위한 내장 함수를 제공하지는 않습니다. 그러나 JavaScript에서도 범위를 생성하기 위한 여러가지 방법이 있습니다.
가장 일반적인 방법은 `for` 반복문을 사용하여 원하는 범위를 생성하는 것입니다. 예를 들어, 1부터 10까지의 범위를 생성하려면 다음과 같은 코드를 사용할 수 있습니다.
```javascript
let range = [];
for (let i = 1; i <= 10; i++) {
range.push(i);
}
console.log(range); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
```
이 코드에서는 `range`라는 빈 배열을 생성하고, `for` 반복문을 사용하여 1부터 10까지의 숫자를 배열에 추가합니다. 마지막으로, `console.log()`를 사용하여 생성된 범위를 출력합니다.
또 다른 방법은 화살표 함수와 `Array.from()` 메서드를 사용하는 것입니다. 예를 들어, 위의 예제를 다음과 같이 작성할 수도 있습니다.
```javascript
let range = Array.from({ length: 10 }, (_, i) => i + 1);
console.log(range); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
```
이 코드에서는 `Array.from()` 메서드를 사용하여 길이가 10인 배열을 생성하고, 배열 요소의 값을 생성하기 위해 화살표 함수를 사용합니다. 이 방법은 `for` 반복문을 사용하는 것보다 간결하고 함수형적인 스타일을 가지고 있습니다.
JavaScript에서 범위를 생성하는 다른 방법으로는 `lodash`와 같은 외부 라이브러리를 사용하는 것이 있습니다. `lodash`는 다양한 유틸리티 함수를 제공하므로 범위 생성을 단순화할 수 있습니다.
예를 들어, `lodash` 라이브러리에서는 `_.range()` 메서드를 사용하여 범위를 생성할 수 있습니다. 위의 예제를 `lodash`를 사용하여 작성하면 다음과 같습니다.
```javascript
const _ = require('lodash');
let range = _.range(1, 11);
console.log(range); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
```
이렇게 사용자가 제공한 범위 내에서 JavaScript에서 범위를 생성하는 여러 가지 방법이 있습니다. 이를 통해 JavaScript로 원하는 범위를 생성하고 처리할 수 있습니다. 그러나 `range()`와 같은 특정한 내장 메서드는 없으므로 위에서 소개한 방법들을 활용해야 합니다.

반응형
Comments