ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript は PHP の「range()」のような組み込みの Range 関数を提供しますか?

JavaScript は PHP の「range()」のような組み込みの Range 関数を提供しますか?

DDD
リリース: 2024-12-09 19:46:15
オリジナル
276 人が閲覧しました

Does JavaScript Offer a Built-in Range Function Like PHP's `range()`?

JavaScript には PHP の "range()" のような組み込みの Range 関数がありますか?

PHP では、range() 関数は次のとおりです。指定された範囲内の数値または英数字の値の配列を生成するために使用されます。ただし、JavaScript には同様のネイティブ関数がありません。この記事では、このような機能を JavaScript で実装する方法について説明します。

数値範囲

数値の範囲を生成するには、Array.from() と Array を使用できます。 key() メソッドの組み合わせ:

[...Array(5).keys()]; // [0, 1, 2, 3, 4]
ログイン後にコピー

これにより、目的の値を表す 0 から 4 のインデックス値を含む配列が作成されます。数値範囲。

文字範囲

文字の範囲については、String.fromCharCode() メソッドと charCodeAt() メソッドを使用して、文字コードを文字:

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()」のような組み込みの Range 関数を提供しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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