> 웹 프론트엔드 > JS 튜토리얼 > JavaScript는 전용 `range()` 함수 없이 어떻게 숫자 및 문자 범위를 생성할 수 있습니까?

JavaScript는 전용 `range()` 함수 없이 어떻게 숫자 및 문자 범위를 생성할 수 있습니까?

Barbara Streisand
풀어 주다: 2024-12-10 22:26:10
원래의
922명이 탐색했습니다.

How Can JavaScript Generate Numeric and Character Ranges Without a Dedicated `range()` Function?

범위 생성을 위한 JavaScript 내장 기능

PHP에서 range() 함수는 지정된 범위 내에서 값의 배열을 생성하는 데 사용됩니다. 범위. JavaScript에는 직접적으로 동등한 기능이 없지만 유사한 기능을 달성하기 위해 기본 메소드를 사용할 수 있습니다.

숫자 범위

숫자 범위를 생성하려면 다음을 사용할 수 있습니다. 다음 기술:

[...Array(5).keys()]; // [0, 1, 2, 3, 4]
로그인 후 복사

이 코드는 0에서 4까지의 값 배열을 생성합니다. (포함).

문자 범위

문자 범위의 경우 다음 접근 방식을 사용합니다.

String.fromCharCode(...[...Array('D'.charCodeAt(0) - 'A'.charCodeAt(0) + 1).keys()].map(i => i + 'A'.charCodeAt(0))); // "ABCD"
로그인 후 복사

이 코드는 " A"를 "D"로.

반복됨 범위

또는 반복을 사용하여 범위를 생성할 수 있습니다.

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"
로그인 후 복사

이 코드는 0에서 4까지의 숫자를 반복하고 해당 문자를 인쇄합니다.

범위 함수 생성

생성하려면 재사용 가능한 범위 함수를 사용하면 다음을 수행할 수 있습니다.

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 라이브러리는 다음을 단순화하는 _.range() 함수를 제공합니다. 범위 생성:

_.range(10); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
로그인 후 복사

레거시 브라우저 호환성

ES6을 지원하지 않는 이전 브라우저의 경우 다음 코드를 사용하세요.

Array.apply(null, Array(5)).map(function (_, i) {return i;}); // [0, 1, 2, 3, 4]
로그인 후 복사

위 내용은 JavaScript는 전용 `range()` 함수 없이 어떻게 숫자 및 문자 범위를 생성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿