Optimasi Penggunaan Ekspresi Reguler di JavaScript
Ekspresi reguler adalah hal yang sangat berat dan beroperasi relatif lambat. Ketika ada solusi alternatif, sebaiknya gunakan solusi tersebut.
Mari kita lihat sebuah contoh. Misalkan kita perlu memeriksa apakah sebuah string diawali dengan tanda seru. Seorang programmer menyelesaikan tugas ini dengan ekspresi reguler:
javascriptlet str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Namun, tugas seperti itu memiliki solusi yang beroperasi jauh lebih cepat:
javascriptlet str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Задание 1
Kode berikut memeriksa keberadaan substring
'33' dalam sebuah string.
Lakukan optimasi:
javascriptlet str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Задание 2
Kode berikut memeriksa apakah sebuah string
diakhiri dengan '.html'.
Lakukan optimasi:
javascriptlet str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Задание 3
Kode berikut memotong spasi di akhir. Lakukan optimasi:
javascriptlet str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);