Optimalisatie via ingebouwde functies in JavaScript

Stel dat een programmeur controleert of het getal 3 in een array zit:

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

Ik beweer dat er iets mis is met deze code. Wat is er dan niet in orde, we breken toch uit de lus nadat we het getal 3 hebben gevonden? Het punt is dat ingebouwde JavaScript functies altijd sneller werken dan vergelijkbare zelfgeschreven code.

In ons geval bestaat de functie includes, die de gestelde taak oplost - en deze functie moet je gebruiken:

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

De moraal: controleer voordat je een taak oplost altijd of er geen ingebouwde JavaScript functie is voor de oplossing.

Задание 1

De volgende code controleert of een string begint met 'http'. Voer optimalisatie uit:

javascriptlet str = '';

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

De volgende code vult een array met een opgegeven waarde. Voer optimalisatie uit:

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