반응형
Notice
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 소프트웨어
- 자바스크립트
- 프로그래밍언어
- 컴퓨터과학
- 데이터베이스
- 데이터구조
- 네트워크보안
- 데이터분석
- 웹개발
- 머신러닝
- 사이버보안
- 딥러닝
- 2
- 보안
- 버전관리
- 네트워크
- 데이터과학
- 자료구조
- 소프트웨어공학
- 파이썬
- Yes
- 클라우드컴퓨팅
- 컴퓨터공학
- 컴퓨터비전
- 빅데이터
- 프로그래밍
- 알고리즘
- 인공지능
- I'm Sorry
- 코딩
Archives
- Today
- Total
스택큐힙리스트
자바스크립트에는 "range()"와 유사한 방법으로 제공된 범위 내에서 범위를 생성하는 메소드가 있을까요? 본문
반응형
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