Optimalizálás beépített függvényekkel JavaScriptben

Tegyük fel, hogy egy programozó ellenőrzi, hogy van-e a tömbben 3 szám:

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

Azt állítom, hogy valami nem stimmel ezzel a kóddal. Mi a baj, hiszen kilépünk a ciklusból, miután megtaláltuk a 3 számot? Az a helyzet, hogy a JavaScript beépített függvényei mindig gyorsabban működnek, mint egy hasonló, saját készítésű kód.

Esetünkben létezik a includes függvény, amely megoldja a feladatot, - és ezt a függvényt kell használni:

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

Tanulság: egy feladat megoldása előtt mindig ellenőrizd, hogy van-e rá beépített JavaScript függvény.

Задание 1

A következő kód ellenőrzi, hogy a string 'http'-vel kezdődik-e. Végezd el az optimalizálást:

javascriptlet str = '';

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

A következő kód tölti fel a tömböt egy megadott értékkel. Végezd el az optimalizálást:

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