JavaScript-də Requlyar İfadələrin İstifadəsinin Optimallaşdırılması
Requlyar ifadələr çox ağır və nisbətən yavas işləyən şeydir. Alternativ həll olduqda, arzu olunandır ki, məhz ondan istifadə edilsin.
Gəlin bir nümunəyə baxaq. Tutaq ki, müəyyən bir sətirin nida işarəsi ilə başlayıb-başlamadığını yoxlamaq lazımdır. Müəyyən bir proqramçı bu problemi requlyar ifadə ilə həll etdi:
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Lakin, belə bir problemin daha sürətli işləyən həlli var:
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Aşağıdakı kod sətirdə
'33' alt sətirinin olub-olmadığını yoxlayır.
Optimallaşdırmanı yerinə yetirin:
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Aşağıdakı kod sətirin '.html' ilə
bitib-bitmediyini yoxlayır.
Optimallaşdırmanı yerinə yetirin:
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Aşağıdakı kod son boşluqları kəsir. Optimallaşdırmanı yerinə yetirin:
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);