Аптымізацыя праз убудаваныя функцыі ў JavaScript
Хай некай праграміст правярае, ці ёсць
у масіве лік 3:
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);
Я сцвярджаю, што з гэтым кодам штосьці не так.
Што ж не ў парадку, мы ж выходзім з цыкла
пасля таго, як знайшлі лік 3? Справа ў тым,
што убудаваныя ў JavaScript функцыі заўсёды
працуюць хутчэй за аналагічны самапісны
код.
У нашым выпадку існуе функцыя includes,
якая вырашае пастаўленую задачу, - і карыстацца
трэба менавіта гэтай функцыяй:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(arr.includes(3));
Маral: перад рашэннем задачы абавязкова правярайце, ці няма для яе рашэння ўбудаванай функцыі JavaScript.
Наступны код правярае, ці пачынаецца
радок на 'http'.
Выканайце аптымізацыю:
let str = 'http://code.mu';
if (str[0] + str[1] + str[2] + str[3] === 'http') {
console.log('+++');
} else {
console.log('---');
}
Наступны код запаўняе масіў зададзеным значэннем. Выканайце аптымізацыю:
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;
}