ホームページ > ウェブフロントエンド > jsチュートリアル > 専用の `range()` 関数を使用せずに、JavaScript で数値および文字の範囲を生成するにはどうすればよいでしょうか?

専用の `range()` 関数を使用せずに、JavaScript で数値および文字の範囲を生成するにはどうすればよいでしょうか?

Barbara Streisand
リリース: 2024-12-10 22:26:10
オリジナル
924 人が閲覧しました

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]
ログイン後にコピー

以上が専用の `range()` 関数を使用せずに、JavaScript で数値および文字の範囲を生成するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート