Optimizācija, izmantojot iebūvētās funkcijas JavaScript
Lai kāds programmētājs pārbauda, vai
massīvā atrodas skaitlis 3:
javascriptlet 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);
Es apgalvoju, ka ar šo kodu kaut kas nav kārtībā.
Kas tad ir nepareizi, mēs taču izietam no cikla
pēc tam, kad atradām skaitli 3? Lieta ir tāda,
ka JavaScript iebūvētās funkcijas vienmēr
strādā ātrāk nekā līdzvērtīgs pašrakstīts
kods.
Mūsu gadījumā pastāv funkcija includes,
kas atrisina uzdevumu, - un lietot tieši
šī funkcija ir nepieciešams:
javascriptlet arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(arr.includes(3));
Moral: pirms uzdevuma risināšanas noteikti pārbaudiet, vai tā atrisināšanai nepastāv iebūvēta JavaScript funkcija.
Задание 1
Šāds kods pārbauda, vai virkne sākas
ar 'http'.
Veiciet optimizāciju:
javascriptlet str = '';
if (str[0] + str[1] + str[2] + str[3] === 'http') {
console.log('+++');
} else {
console.log('---');
}
Задание 2
Šāds kods aizpilda massīvu ar noteiktu vērtību. Veiciet optimizāciju:
javascriptlet 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;
}