Βελτιστοποίηση μέσω ενσωματωμένων συναρτήσεων στο 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));
Το ηθικό δίδαγμα: πριν λύσετε ένα πρόβλημα, φροντίστε πάντα να ελέγχετε αν υπάρχει ενσωματωμένη συνάρτηση 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;
}