Otimização através de funções integradas em JavaScript
Suponha que um programador queira verificar se
o array contém o número 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);
Eu afirmo que há algo errado com este código.
O que está errado, já que saímos do loop
depois de encontrar o número 3? O fato é que
as funções integradas do JavaScript sempre
funcionam mais rápido do que código personalizado
equivalente.
No nosso caso, existe a função includes,
que resolve o problema proposto - e devemos
usar precisamente esta função:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(arr.includes(3));
Moral: antes de resolver uma tarefa, sempre verifique se não existe uma função integrada do JavaScript para resolvê-la.
O código a seguir verifica se uma string
começa com 'http'.
Execute a otimização:
let str = 'http://code.mu';
if (str[0] + str[1] + str[2] + str[3] === 'http') {
console.log('+++');
} else {
console.log('---');
}
O código a seguir preenche um array com um valor determinado. Execute a otimização:
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;
}