Pengoptimuman Penukaran kepada Array dalam JavaScript
Tidak selalu perlu memisahkan string kepada array untuk melakukan sesuatu dengannya. Mari kita lihat contoh. Katakan kita mempunyai kod berikut:
let num = 123456789;
let arr = String(num).split('');
let sum = 0;
for (let elem of arr) {
sum += +elem;
}
console.log(sum);
Mengapa pemisahan kepada array di sini tidak baik? Kerana, pertama, pemisahan kepada array menggunakan sumber pemproses, kedua, array yang terhasil akan mengambil ruang dalam memori (lebih-lebih lagi ruangnya akan lebih besar daripada ruang yang diambil oleh string itu sendiri).
Sebenarnya, dengan menggunakan for-of
kita boleh mengulangi bukan hanya array,
tetapi juga string:
let num = 123456789;
let str = String(num);
let sum = 0;
for (let char of str) {
sum += +char;
}
console.log(sum);
Kod berikut mencari jumlah digit nombor yang dimasukkan ke dalam input. Lakukan pengoptimuman:
<input>
let input = document.querySelector('input');
input.addEventListener('blur', function() {
let digits = input.value.split('');
let sum = 0;
for (let digit of digits) {
sum += +digit;
}
console.log(sum);
});
Kod berikut mengira bilangan huruf dalam string. Lakukan pengoptimuman:
let str = 'abcaab';
let arr = str.split('');
let i = 0;
for (let elem of arr) {
if (elem == 'a') {
i++;
}
}
console.log(i);
Kod berikut menyemak kewujudan simbol dalam string. Lakukan pengoptimuman:
let str = 'abcaab';
let arr = str.split('');
console.log(arr.includes('a'));