Ottimizzazione tramite funzioni integrate in JavaScript
Supponiamo che un programmatore debba verificare se
nell'array è presente il numero 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);
Sostengo che ci sia qualcosa che non va in questo codice.
Cosa c'è di sbagliato, usciamo dal ciclo
dopo aver trovato il numero 3? Il fatto è che
le funzioni integrate in JavaScript funzionano sempre
più velocemente del codice auto-scritto equivalente.
Nel nostro caso, esiste la funzione includes
che risolve il problema posto - e dovrebbe essere
utilizzata proprio questa funzione:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(arr.includes(3));
Morale: prima di risolvere un problema, assicurati sempre di controllare se non esiste una funzione integrata in JavaScript per la sua soluzione.
Il seguente codice verifica se una stringa
inizia con 'http'.
Esegui l'ottimizzazione:
let str = 'http://code.mu';
if (str[0] + str[1] + str[2] + str[3] === 'http') {
console.log('+++');
} else {
console.log('---');
}
Il seguente codice riempie un array con un valore specificato. Esegui l'ottimizzazione:
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;
}