JavaScript에는 PHP의 "range()"와 같은 내장 범위 함수가 있습니까?
PHP에서 range() 함수는 다음과 같습니다. 숫자 또는 영숫자로 지정된 범위 내의 값 배열을 생성하는 데 사용됩니다. 그러나 JavaScript는 유사한 기본 기능을 제공하지 않습니다. 이 기사에서는 JavaScript에서 이러한 기능을 구현하는 방법을 살펴봅니다.
숫자 범위
숫자 범위를 생성하려면 Array.from() 및 Array를 사용할 수 있습니다. 키() 메소드 결합:
[...Array(5).keys()]; // [0, 1, 2, 3, 4]
이것은 원하는 숫자를 나타내는 0에서 4까지의 인덱스 값을 포함하는 배열을 생성합니다. range.
문자 범위
문자 범위의 경우 charCodeAt() 메서드와 함께 String.fromCharCode() 메서드를 사용하여 문자 코드를 다음으로 변환할 수 있습니다. 문자:
String.fromCharCode(...[...Array('D'.charCodeAt(0) - 'A'.charCodeAt(0) + 1).keys()].map(i => i + 'A'.charCodeAt(0))); // "ABCD"
반복
for 루프를 사용하여 값 범위를 반복할 수도 있습니다.
for (const x of Array(5).keys()) { console.log(x, String.fromCharCode('A'.charCodeAt(0) + x)); } // 0,"A" 1,"B" 2,"C" 3,"D" 4,"E"
함수
범위 생성 프로세스를 추상화하기 위해 다음을 만들 수 있습니다. 사용자 정의 함수:
function range(size, startAt = 0) { return [...Array(size).keys()].map(i => i + startAt); } function characterRange(startChar, endChar) { return String.fromCharCode(...range(endChar.charCodeAt(0) - startChar.charCodeAt(0), startChar.charCodeAt(0))) }
Lodash.js
Lodash 라이브러리를 사용하는 경우 해당 _.range() 함수를 이 목적으로 활용할 수 있습니다.
_.range(10); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
ES6 이외의 브라우저 호환성
ES6을 지원하지 않는 이전 브라우저에서는 다음 대안을 사용할 수 있습니다.
Array.apply(null, Array(5)).map(function (_, i) {return i;}); // [0, 1, 2, 3, 4]
위 내용은 JavaScript는 PHP의 `range()`와 같은 내장 범위 함수를 제공합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!