Βελτιστοποίηση μέσω ενσωματωμένων συναρτήσεων στο JavaScript

Ας υποθέσουμε ότι ένας προγραμματιστής ελέγχει αν υπάρχει ο αριθμός 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);

Ισχυρίζομαι ότι κάτι δεν πάει καλά με αυτόν τον κώδικα. Τι ακριβώς δεν πάει καλά, αφού βγαίνουμε από τον βρόχο αφού βρήκαμε τον αριθμό 3; Το θέμα είναι ότι οι ενσωματωμένες συναρτήσεις του JavaScript πάντα λειτουργούν πιο γρήγορα από τον αντίστοιχο κώδικα που γράφουμε μόνοι μας.

Στην περίπτωσή μας, υπάρχει η συνάρτηση includes, που λύνει το συγκεκριμένο πρόβλημα, - και πρέπει να χρησιμοποιούμε αυτήν ακριβώς τη συνάρτηση:

javascriptlet arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(arr.includes(3));

Το ηθικό δίδαγμα: πριν λύσετε ένα πρόβλημα, φροντίστε πάντα να ελέγχετε αν υπάρχει ενσωματωμένη συνάρτηση JavaScript για τη λύση του.

Задание 1

Ο ακόλουθος κώδικας ελέγχει αν μια συμβολοσειρά ξεκινά με 'http'. Εκτελέστε βελτιστοποίηση:

javascriptlet str = '';

if (str[0] + str[1] + str[2] + str[3] === 'http') {
  console.log('+++');
} else {
  console.log('---');
}
Задание 2

Ο ακόλουθος κώδικας γεμίζει έναν πίνακα με μια καθορισμένη τιμή. Εκτελέστε βελτιστοποίηση:

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;
}