Rumah >hujung hadapan web >tutorial js >Bagaimanakah JavaScript Boleh Menjana Julat Numerik dan Aksara Tanpa Fungsi `julat()` Terdedikasi?

Bagaimanakah JavaScript Boleh Menjana Julat Numerik dan Aksara Tanpa Fungsi `julat()` Terdedikasi?

Barbara Streisand
Barbara Streisandasal
2024-12-10 22:26:10939semak imbas

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

Keupayaan Terbina Dalam JavaScript untuk Menjana Julat

Dalam PHP, fungsi julat() digunakan untuk menjana tatasusunan nilai dalam yang ditentukan sempadan. JavaScript tidak mempunyai persamaan langsung, tetapi kaedah asli boleh digunakan untuk mencapai kefungsian yang serupa.

Julat Angka

Untuk mencipta julat nombor, anda boleh menggunakan teknik berikut:

[...Array(5).keys()]; // [0, 1, 2, 3, 4]

Kod ini menjana tatasusunan nilai dari 0 hingga 4 (termasuk).

Julat Aksara

Untuk julat aksara, gunakan pendekatan berikut:

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

Kod ini menjana aksara " A" hingga "D".

Diulang Julat

Sebagai alternatif, anda boleh menggunakan lelaran untuk menjana julat:

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"

Kod ini berulang pada nombor dari 0 hingga 4 dan mencetak aksara yang sepadan.

Mencipta Fungsi Julat

Untuk mencipta julat boleh guna semula fungsi, anda boleh melakukan perkara berikut:

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)))
}

Perpustakaan Pihak Ketiga

Pustaka lodash.js menyediakan fungsi _.range() yang memudahkan penjanaan julat :

_.range(10); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Pelayar Legasi Keserasian

Untuk penyemak imbas lama yang tidak menyokong ES6, gunakan kod berikut:

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

Atas ialah kandungan terperinci Bagaimanakah JavaScript Boleh Menjana Julat Numerik dan Aksara Tanpa Fungsi `julat()` Terdedikasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn