JavaScript-də daxili funksiyalar vasitəsilə optimallaşdırma
Bir proqramçının massivdə 3 rəqəminin olub-olmadığını yoxladığını fərz edək:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
let exists = false;
for (let elem of arr) {
if (elem === 3) {
exists = true;
break;
}
}
console.log(exists);
Mən iddia edirəm ki, bu kodla bir şey düz deyil.
Bəs onda nə səhvdir, biz 3 rəqəmini tapdıqdan sonra döngüdən çıxmırmı? Məsələ ondadır ki,
JavaScript-də daxili olan funksiyalar həmişə
özümüzün yazdığımı oxşar koddan daha sürətli işləyir.
Bizim vəziyyətimizdə, qoyulmuş məsələni həll edən includes funksiyası var,
- və məhz bu funksiyadan istifadə etmək lazımdır:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(arr.includes(3));
Əxlaq: Bir məsələni həll etməzdən əvvəl mütləq yoxlayın ki, onun həlli üçün JavaScript-də daxili funksiya varmı.
Aşağıdakı kod sətrin 'http' ilə başlayıb-başlamadığını yoxlayır.
Optimallaşdırmanı yerinə yetirin:
let str = 'http://code.mu';
if (str[0] + str[1] + str[2] + str[3] === 'http') {
console.log('+++');
} else {
console.log('---');
}
Aşağıdakı kod massivi verilmiş dəyərlə doldurur. Optimallaşdırmanı yerinə yetirin:
let arr = fillArr('x', 5);
console.log(arr);
function fillArr(val, amount) {
let arr = [];
for (let i = 1; i <= amount; i++) {
arr.push(val);
}
return arr;
}