Optimierung durch eingebaute Funktionen in JavaScript
Angenommen, ein Programmierer prüft, ob
im Array die Zahl 3 vorhanden ist:
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);
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:
let 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.
Der folgende Code prüft, ob
die Zeichenkette mit 'http' beginnt.
Führen Sie eine Optimierung durch:
let str = 'http://code.mu';
if (str[0] + str[1] + str[2] + str[3] === 'http') {
console.log('+++');
} else {
console.log('---');
}
Der folgende Code füllt ein Array mit einem bestimmten Wert. Führen Sie eine Optimierung durch:
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;
}