Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mencipta Julat Nombor atau Aksara dalam JavaScript?

Bagaimanakah Saya Boleh Mencipta Julat Nombor atau Aksara dalam JavaScript?

Barbara Streisand
Barbara Streisandasal
2024-12-09 17:49:171009semak imbas

How Can I Create a Range of Numbers or Characters in JavaScript?

Adakah JavaScript Mempunyai Fungsi Julat?

JavaScript tidak secara asalnya menyertakan kaedah "julat()", seperti PHP, untuk menjana julat dalam sempadan yang ditentukan. Walau bagaimanapun, terdapat beberapa cara untuk mencapai ini menggunakan kaedah terbina dalam atau perpustakaan pihak ketiga.

Nombor

Untuk menjana julat nombor, anda boleh menggunakan sintaks berikut:

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

Lelaran Aksara

Untuk lelaran aksara, anda boleh menggunakan kod ini:

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

Lelaran

Untuk mengulangi kedua-dua nombor dan aksara secara serentak, cuba:

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"

Fungsi

Untuk mencipta fungsi boleh guna semula, anda boleh:

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

console.log(range(5)); // [0, 1, 2, 3, 4]
console.log(characterRange('A', 'C')); // "ABC"

Perpustakaan Lodash.js

Lodash.js termasuk fungsi _.range():

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

Teknik ini menyediakan alternatif yang berdaya maju kepada fungsi julat() PHP dalam JavaScript.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Julat Nombor atau Aksara dalam JavaScript?. 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