Adakah JavaScript Mempunyai Fungsi Julat Seperti julat() PHP?
Fungsi julat() PHP membolehkan anda menjana susunan nombor dengan mudah atau aksara dalam had yang ditentukan. Walau bagaimanapun, JavaScript tidak mempunyai fungsi terbina dalam untuk tujuan ini. Berikut ialah beberapa kaedah untuk melaksanakan fungsi ini dalam JavaScript:
Nombor
Gunakan kaedah Array.keys():
[...Array(5).keys()]; // [0, 1, 2, 3, 4]
Lelaran Aksara
Leverage String.fromCharCode() untuk lelaran melalui julat aksara:
String.fromCharCode(...[...Array('D'.charCodeAt(0) - 'A'.charCodeAt(0) + 1).keys()].map(i => i + 'A'.charCodeAt(0))); // "ABCD"
Lelaran Generik
Gunakan untuk...gelung bersama String.fromCharCode():
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"
Julat Tersuai Fungsi
Buat fungsi boleh guna semula untuk menjana julat:
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))) }
Sebagai Fungsi Ditaip
Pengguna TypeScript boleh menentukan fungsi yang ditaip:
function range(size:number, startAt:number = 0):ReadonlyArray<number> { return [...Array(size).keys()].map(i => i + startAt); } function characterRange(startChar:string, endChar:string):ReadonlyArray<string> { return String.fromCharCode(...range(endChar.charCodeAt(0) - startChar.charCodeAt(0), startChar.charCodeAt(0))) }
Luaran Perpustakaan
Sebagai alternatif, anda boleh menggunakan perpustakaan pihak ketiga seperti lodash.js, yang menyediakan 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]
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Fungsi Julat dalam JavaScript Serupa dengan julat PHP()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!