Optimierung durch eingebaute Funktionen in JavaScript

Angenommen, ein Programmierer prüft, ob im Array die Zahl 3 vorhanden ist:

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

Ich behaupte, dass mit diesem Code etwas nicht stimmt. Was ist nicht in Ordnung, brechen wir doch aus der Schleife aus, nachdem wir die Zahl 3 gefunden haben? Die Sache ist, dass eingebaute JavaScript-Funktionen immer schneller arbeiten als ein ähnlicher selbstgeschriebener Code.

In unserem Fall existiert die Funktion includes, die die gestellte Aufgabe löst - und benutzt werden sollte genau diese Funktion:

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

Die Moral: Vor dem Lösen einer Aufgabe unbedingt prüfen, ob es dafür keine eingebaute JavaScript-Funktion gibt.

Задание 1

Der folgende Code prüft, ob die Zeichenkette mit 'http' beginnt. Führen Sie eine Optimierung durch:

javascriptlet str = '';

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

Der folgende Code füllt ein Array mit einem bestimmten Wert. Führen Sie eine Optimierung durch:

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