Optimisasi melalui Fungsi Bawaan di JavaScript
Misalkan seorang programmer memeriksa apakah
ada angka 3 dalam sebuah array:
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);
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:
let 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.
Kode berikut memeriksa apakah sebuah string
dimulai dengan 'http'.
Lakukan optimisasi:
let str = 'http://code.mu';
if (str[0] + str[1] + str[2] + str[3] === 'http') {
console.log('+++');
} else {
console.log('---');
}
Kode berikut mengisi sebuah array dengan nilai yang ditentukan. Lakukan optimisasi:
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;
}