Optimisasi melalui Fungsi Bawaan di JavaScript

Misalkan seorang programmer memeriksa apakah ada angka 3 dalam sebuah array:

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

Saya menyatakan bahwa ada yang tidak beres dengan kode ini. Apa yang tidak beres? Bukankah kita keluar dari loop setelah menemukan angka 3? Masalahnya adalah fungsi bawaan JavaScript selalu bekerja lebih cepat daripada kode buatan sendiri yang setara.

Dalam kasus kita, terdapat fungsi includes yang menyelesaikan tugas yang diberikan, - dan kita harus menggunakan fungsi ini:

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

Pelajaran: Sebelum menyelesaikan suatu tugas, pastikan untuk memeriksa apakah tidak ada fungsi bawaan JavaScript untuk menyelesaikannya.

Задание 1

Kode berikut memeriksa apakah sebuah string dimulai dengan 'http'. Lakukan optimisasi:

javascriptlet str = '';

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

Kode berikut mengisi sebuah array dengan nilai yang ditentukan. Lakukan optimisasi:

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