Contoh: Hasilkan Rentang Karakter
// program to generate range of numbers and characters
function* iterate(a, b) {
for (let i = a; i <= b; i += 1) {
yield i
}
}
function range(a, b) {
if(typeof a === 'string') {
let result = [...iterate(a.charCodeAt(), b.charCodeAt())].map(n => String.fromCharCode(n));
console.log(result);
}
else {
let result = [...iterate(a, b)];
console.log(result);
}
}
range(1, 5);
range('A', 'G');
Keluaran
[1, 2, 3, 4, 5] ["A", "B", "C", "D", "E", "F", "G"]
Dalam program di atas, rentang angka dan karakter dihasilkan antara batas atas dan bawah.
- Itu
iterate
fungsi generator digunakan untuk beralih melalui batas bawah dan atas. - Sintaks penyebaran
...
kemudian digunakan untuk memasukkan semua elemen yang dikembalikan olehiterate
fungsi. - Itu
charCodeAt()
metode mengambil nilai indeks dan mengembalikan bilangan bulat yang mewakili kode UTF-16 (16-bit Unicode Transformation Format). - Itu
map()
metode iterasi melalui semua elemen array. - Itu
fromCharCode()
metode mengubah nilai Unicode menjadi karakter.